strptime
Parse a time/date generated with strftime
WarningThis function has been
DEPRECATED as of PHP 8.1.0. Relying on this function
is highly discouraged.
Description
arrayfalse strptime(string $timestamp
, string $format
)
Month and weekday names and other language dependent strings respect the
current locale set with setlocale (LC_TIME
).
Parameters
-
timestamp
(string)
-
The string to parse (e.g. returned from strftime).
-
format
(string)
-
The format used in timestamp
(e.g. the same as
used in strftime). Note that some of the format
options available to strftime may not have any
effect within strptime; the exact subset that are
supported will vary based on the operating system and C library in
use.
For more information about the format options, read the
strftime page.
Return Values
Returns an array or false
on failure.
The following parameters are returned in the array
parameters |
Description |
"tm_sec" |
Seconds after the minute (0-61) |
"tm_min" |
Minutes after the hour (0-59) |
"tm_hour" |
Hour since midnight (0-23) |
"tm_mday" |
Day of the month (1-31) |
"tm_mon" |
Months since January (0-11) |
"tm_year" |
Years since 1900 |
"tm_wday" |
Days since Sunday (0-6) |
"tm_yday" |
Days since January 1 (0-365) |
"unparsed" |
the timestamp part which was not
recognized using the specified format |
Examples
Example #1 strptime example
<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);
echo "$strf\n";
print_r(strptime($strf, $format));
?>
The above example will output
something similar to:
03/10/2004 15:54:19
Array
(
[tm_sec] => 19
[tm_min] => 54
[tm_hour] => 15
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 104
[tm_wday] => 0
[tm_yday] => 276
[unparsed] =>
)
Notes
Note: This function is not
implemented on Windows platforms.
Note:
Internally, this function calls the strptime()
function provided by the system's C library. This function can exhibit
noticeably different behaviour across different operating systems. The
use of date_parse_from_format, which does not
suffer from these issues, is recommended.
Note:
"tm_sec"
includes any leap seconds (currently upto 2
a year). For more information on leap seconds, see the » Wikipedia article
on leap seconds.
See Also
- IntlDateFormatter::parse
- DateTime::createFromFormat
- checkdate
- strftime
- date_parse_from_format