|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander V. Gaiduk 2:5020/400 11 Feb 2005 13:41:57 To : Anton Potekhin Subject : Hа: date --------------------------------------------------------------------------------
> Люди подскажите как перевести дату в таком формате
>
> Thu, 6 Jan 2005 6:28:46 GMT
>
> в формат:
>
> 2005-01-06 6:28:46
use HTTP::Date;
$string = time2str($time); # Format as GMT ASCII time
$time = str2time($string); # convert ASCII date to machine time
parse_date( $str )
This function will try to parse a date string, and then return it as a list
of numerical values followed by a (possible undefined) time zone specifier;
($year, $month, $day, $hour, $min, $sec, $tz). The $year returned will not
have the number 1900 subtracted from it and the $month numbers start with 1.
In scalar context the numbers are interpolated in a string of the
``YYYY-MM-DD hh:mm:ss TZ''-format and returned.If the date is unrecognized,
then the empty list is returned.The function is able to parse the following
formats:
"Wed, 09 Feb 1994 22:23:32 GMT" -- HTTP format
"Thu Feb 3 17:03:55 GMT 1994" -- ctime(3) format
"Thu Feb 3 00:00:00 1994", -- ANSI C asctime() format
"Tuesday, 08-Feb-94 14:15:29 GMT" -- old rfc850 HTTP format
"Tuesday, 08-Feb-1994 14:15:29 GMT" -- broken rfc850 HTTP format
"03/Feb/1994:17:03:55 -0700" -- common logfile format
"09 Feb 1994 22:23:32 GMT" -- HTTP format (no weekday)
"08-Feb-94 14:15:29 GMT" -- rfc850 format (no weekday)
"08-Feb-1994 14:15:29 GMT" -- broken rfc850 format (no weekday)
"1994-02-03 14:15:29 -0100" -- ISO 8601 format
"1994-02-03 14:15:29" -- zone is optional
"1994-02-03" -- only date
"1994-02-03T14:15:29" -- Use T as separator
"19940203T141529Z" -- ISO 8601 compact format
"19940203" -- only date
"08-Feb-94" -- old rfc850 HTTP format (no weekday, no time)
"08-Feb-1994" -- broken rfc850 HTTP format (no weekday, no time)
"09 Feb 1994" -- proposed new HTTP format (no weekday, no time)
"03/Feb/1994" -- common logfile format (no time, no offset)
"Feb 3 1994" -- Unix 'ls -l' format
"Feb 3 17:03" -- Unix 'ls -l' format
"11-15-96 03:52PM" -- Windows 'dir' format
The parser ignores leading and trailing whitespace. It also allow the
seconds to be missing and the month to be numerical in most formats.If the
year is missing, then we assume that the date is the first matching date
before current month. If the year is given with only 2 digits, then
parse_date() will select the century that makes the year closest to the
current date.
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/757438df8560.html, оценка из 5, голосов 10
|