This function has been DEPRECATED as of PHP 8.1.0. Relying on this function is highly discouraged.
Description
$timestamp
, string $format
): array|false
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 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.
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
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
- checkdate() - Validate a Gregorian date
- strftime() - Format a local time/date according to locale settings
- date_parse_from_format() - Get info about given date formatted according to the specified format
- DateTime::createFromFormat() - Parses a time string according to a specified format