in reply to Re^2: Date::Parse - how to correctly parse dates between 1901 and 1969
in thread Date::Parse - how to correctly parse dates between 1901 and 1969
Hello again eniad,
Well a simple example would answer your question:
#!/usr/bin/perl use strict; use warnings; use Date::Manip; use feature 'say'; my @dates = ( "2018-02-20 00:00:00", "20180220", "02/20/2018", "02/20/18", # interpreted as 1918-02-20 "2018-02-20", "today"); say UnixDate( ParseDate($_), "%Y-%m-%d") for (@dates); __END__ $ perl test.pl 2018-02-20 2018-02-20 2018-02-20 2018-02-20 2018-02-20 2018-02-20
So in conclusion, yes the module can parse all the dates that you provided.
Update: If you want to know which date formats are acceptable from the module read here Date::Manip::Date/VALID DATE FORMATS. On the same link you will find time formats but also date and time formats combined.
Update 2: A minor similar example on how to parse time and print also time zone if you are interested:
#!/usr/bin/perl use strict; use warnings; use Date::Manip; use feature 'say'; my @dates = ( "2018-02-20 00:00:00", "20180220", "02/20/2018", "02/20/18", # interpreted as 1918-02-20 "2018-02-20", "today", # current date "now" # current date with also time ); say UnixDate( ParseDate($_), "%Y-%m-%d %T %Z") for (@dates); __END__ $ perl test.pl in.txt 2018-02-20 00:00:00 CET 2018-02-20 00:00:00 CET 2018-02-20 00:00:00 CET 2018-02-20 00:00:00 CET 2018-02-20 00:00:00 CET 2018-02-20 00:00:00 CET 2018-02-20 18:03:16 CET
Hope this helps, BR.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Date::Parse - how to correctly parse dates between 1901 and 1969
by eniad (Acolyte) on Feb 20, 2018 at 16:52 UTC | |
|
Re^4: Date::Parse - how to correctly parse dates between 1901 and 1969
by eniad (Acolyte) on Feb 20, 2018 at 20:23 UTC |