Time::ParseDate (3pm)
Name
Time::ParseDate -- date parsing both relative and absolute
Synopsis
use Time::ParseDate;
$seconds_since_jan1_1970 = parsedate("12/11/94
2pm", NO_RELATIVE => 1)
$seconds_since_jan1_1970 = parsedate("12/11/94
2pm", %options)
Options
Date parsing can also use options. The options are as follows:
FUZZY -> it’s okay not to parse the entire date
string
- NOW
- -> the “current” time for relative times (defaults to time())
- ZONE
- -> local timezone (defaults to $ENV{TZ})
- WHOLE
- -> the whole input string must be parsed
- GMT
- -> input time is assumed to be GMT, not localtime
- UK
- -> prefer UK style dates (dd/mm over mm/dd) DATE_REQUIRED -> do not default the date TIME_REQUIRED -> do not default the time NO_RELATIVE -> input time is not relative to NOW TIMEFIRST -> try parsing time before date [not default] PREFER_PAST -> when year or day of week is ambiguous, assume past PREFER_FUTURE -> when year or day of week is ambiguous, assume future SUBSECOND -> parse fraction seconds VALIDATE -> only accept normal values for HHMMSS,
YYMMDD. Otherwise
days like -1 might give the last day of the previous month.
Date Formats Recognized
Absolute date formats
Dow, dd Mon yy
Dow, dd Mon yyyy
Dow, dd Mon
dd Mon yy
dd Mon yyyy
Month day{st,nd,rd,th}, year
Month day{st,nd,rd,th}
Mon dd yyyy
yyyy/mm/dd
- yyyy-mm-dd
- (usually the best date specification syntax) yyyy/mm mm/dd/yy mm/dd/yyyy mm/yy
- yy/mm
- (only if year > 12, or > 31 if UK) yy/mm/dd (only if year > 12 and day < 32, or year > 31 if UK)
- dd/mm/yy
- (only if UK, or an invalid mm/dd/yy or yy/mm/dd) dd/mm/yyyy (only if UK, or an invalid mm/dd/yyyy)
- dd/mm
- (only if UK, or an invalid mm/dd)
Relative date formats:
count “days"
count “weeks"
count “months"
count “years"
Dow “after next"
Dow “before last"
- Dow
- (requires PREFER_PAST or
Prefer_future)
“next” Dow
“tomorrow"
“today"
“yesterday"
“last” dow
“last week"
“now"
“now” “+” count units
“now” “-” count units
“+” count units
“-” count units
count units “ago"
Absolute time formats:
hh:mm:ss[.ddd]
hh:mm
hh:mm[AP]M
hh[AP]M
hhmmss[[AP]M]
“noon"
“midnight"
Relative time formats:
count “minutes” (count can be franctional
“1.5” or “1 1/2")
count “seconds"
count “hours"
“+” count units
“+” count
“-” count units
“-” count
count units “ago"
Timezone formats:
[+-]dddd
GMT[+-]d+
[+-]dddd (TZN)
TZN
Special formats:
[ d]d/Mon/yyyy:hh:mm:ss [[+-]dddd] yy/mm/dd.hh:mm
Description
This module recognizes the above date/time formats. Usually a date
and a time are specified. There are numerous options for
controlling
what is recognized and what is not.
The return code is always the time in seconds since January 1st, 1970
or undef if it was unable to parse the time.
If a timezone is specified it must be after the time.
Year specifications
can be tacked onto the end of absolute times.
If “parsedate()” is called from array context, then it
will return two
elements. On sucessful parses, it will return the seconds
and what
remains of its input string. On unsucessful parses, it
will return
“undef” and an error string.
Examples
$seconds = parsedate("Mon Jan 2 04:24:27 1995");
$seconds = parsedate("Tue Apr 4 00:22:12 PDT
1995");
$seconds = parsedate("04.04.95 00:22", ZONE =>
Pdt);
$seconds = parsedate("Jan 1 1999 11:23:34.578",
Subsecond => 1);
$seconds = parsedate("122212 950404", ZONE => PDT,
Timefirst => 1);
$seconds = parsedate("+3 secs", NOW => 796978800);
$seconds = parsedate("2 months", NOW =>
796720932);
$seconds = parsedate("last Tuesday");
$seconds = parsedate("Sunday before last");
($seconds, $remaining) = parsedate("today is the
day");
($seconds, $error) = parsedate("today is",
Whole=>1);
Author
David Muir Sharnoff <muir@idiom.com>.
License
Copyright (C) 1996-2006 David Muir Sharnoff. License
hereby granted
for anyone to use, modify or redistribute this module at
their own
risk. Please feed useful changes back to muir@idiom.com.
perl v5.8.8 2008-02-07
Time::ParseDate(3pm)
- Name
- Synopsis
- Options
- YYMMDD. Otherwise
- Date Formats Recognized
- Prefer_future)
- Description
- Year specifications
- Examples
- Pdt);
- Subsecond => 1);
- Timefirst => 1);
- Whole=>1);
- Author
- License
- Time::ParseDate(3pm)
Losowe
- fuseiso9660 (1)
- Bio::Map::PositionHandler (3pm)
- caudiumctl (1)
- vfs (3tcl)
- gearman_server_set_queue_flush_fn (3)
- mythbuntu-log-grabber (1)
- Tcl_SetDoubleObj (3tcl)
- gpscat (1)
- device_for_each_child (9)
- ctgsyl (3)
- std::_Placeholder (3cxx)
- ns_malloc (3)
- fmvj18x_cs (4)
- SoForeignFileKit (3)
- drift (6)
- Jifty::DBI::Filter::Storable (3pm)
- chcon (1)
- Ns_ExtDbMsgNameToCode (3aolserver)
- wn_mkhashhtab (3)
- sisu_markup_samples (1)
