time::parsedate(3)

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 de
fault]
PREFER_PAST -> when year or day of week is am
bigueous, assume past
PREFER_FUTURE -> when year or day of week is am
bigueous, 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
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 (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 "minuts"
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. Usu
ally 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 Jan
uary 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 contect, 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, $remaining) = parsedate("today is the
day");
($seconds, $error) = parsedate("today is",
WHOLE=>1);

AUTHOR

David Muir Sharnoff <muir@idiom.com>. Copyright (C)
1996-1999 All Rights Reserved. Use and redistribution
allowed at user's own risk.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout