Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Converting to epoch time.

by duct_tape (Hermit)
on Mar 30, 2005 at 23:34 UTC ( #443644=note: print w/replies, xml ) Need Help??

in reply to Converting to epoch time.

What others have said about splitting up the string with a regex and using Time::Local will work great if all you need is to convert the date to epoch. But if you need to do anything else with the date, then you may want to look at the DateTime modules.

Note: Since your date does not include the timezone, you may need to specify that to the DateTime object if you need it to be in a certain timezone. By default it is parsed into UTC.

Here is an example using DateTime::Format::Strptime with the specified format. This is a good module to use if you know the format for the date. Check the manpage for strftime for information about the format.

use DateTime::Format::Strptime; use strict; my $datetime = "2005-03-28 12:00:00"; my $parser = DateTime::Format::Strptime->new(pattern => '%Y-%m-%d %H +:%M:%S'); my $dt = $parser->parse_datetime($datetime); print $dt->epoch;

And here it is using DateTime::Format::HTTP in case your date can be in many different formats. Check the documentation for the list of the many formats that it knows how to parse.

use DateTime::Format::HTTP; use strict; my $datetime = "2005-03-28 12:00:00"; my $dt = DateTime::Format::HTTP->parse_datetime($datetime); print $dt->epoch;

Hope that this is helpful.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://443644]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2020-08-14 19:50 GMT
Find Nodes?
    Voting Booth?
    Which rocket would you take to Mars?

    Results (76 votes). Check out past polls.