http://www.perlmonks.org?node_id=1179201


in reply to Finding the difference between two dates including milliseconds

Hi Anonymous,

What code have you tried? Have a look at perlintro, chomp, and split, that should give you what you need to know about reading the input line-by-line and splitting the string into two. Try writing some code and posting it here.

As for the date/time handling, one way to do it (and my favorite) is this. Use DateTime::Format::Strptime to parse each date/time string into a DateTime object - the fractional part of your values can be parsed with the pattern "%6N". Note that if any time zone differences occur in your data at all, then every DateTime object needs to have its time zone set, such as by specifying the time_zone parameter to DateTime::Format::Strptime->new(...). Then, use this code to find the difference in milliseconds (note that the step of converting to nanoseconds first is required):

my $diff_ms = $dt1->subtract_datetime_absolute($dt2) ->in_units('nanoseconds')/1e6;

Hope this helps,
-- Hauke D