strptime
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
Parse a time/date generated with strftime
Function-8-1-0
Description
strptime() returns an array with the timestamp parsed, or false on error.
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 instrftime()). Note that some of the format options available tostrftime()may not have any effect withinstrptime(); 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 arrayFalseforfailure.
| 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 |
Changelog
| Version | Description |
|---|---|
| 8.1.0 | This function has been deprecated. Use date_parse_from_format() instead (for locale-independent parsing), or IntlDateFormatter::parse (for locale-dependent parsing) |
Examples
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 No-windows
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.
"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::parseDateTime::createFromFormatcheckdate()strftime()date_parse_from_format()