PHP strptime() Function

Definition and Usage

The strptime() function parses a time/date generated with strftime().
This function returns an array with the date parsed. The meaning of the returning array keys are:
  • [tm_sec] - seconds (0-61)
  • [tm_min] - minutes (0-59)
  • [tm_hour] - hour (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 date part which was not recognized using the specified format, if any

Syntax

strptime(date,format)

Parameter Description
date Required. The string to parse (e.g. returned from strftime())
format Required. Specifies the format used in the date:
  • %a - abbreviated weekday name
  • %A - full weekday name
  • %b - abbreviated month name
  • %B - full month name
  • %c - preferred date and time representation
  • %C - century number (the year divided by 100, range 00 to 99)
  • %d - day of the month (01 to 31)
  • %D - same as %m/%d/%y
  • %e - day of the month (1 to 31)
  • %g - like %G, but without the century
  • %G - 4-digit year corresponding to the ISO week number (see %V).
  • %h - same as %b
  • %H - hour, using a 24-hour clock (00 to 23)
  • %I - hour, using a 12-hour clock (01 to 12)
  • %j - day of the year (001 to 366)
  • %m - month (01 to 12)
  • %M - minute
  • %n - newline character
  • %p - either am or pm according to the given time value
  • %r - time in a.m. and p.m. notation
  • %R - time in 24 hour notation
  • %S - second
  • %t - tab character
  • %T - current time, equal to %H:%M:%S
  • %u - weekday as a number (1 to 7), Monday=1. Warning: In Sun Solaris Sunday=1
  • %U - week number of the current year, starting with the first Sunday as the first day of the first week
  • %V - The ISO 8601 week number of the current year (01 to 53), where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week
  • %W - week number of the current year, starting with the first Monday as the first day of the first week
  • %w - day of the week as a decimal, Sunday=0
  • %x - preferred date representation without the time
  • %X - preferred time representation without the date
  • %y - year without a century (range 00 to 99)
  • %Y - year including the century
  • %Z or %z - time zone or name or abbreviation
  • %% - a literal % character


Tips and Notes

Note: This function is not implemented on Windows platforms.

Example

Example of both strftime() and strptime():
<?php
$format="%d/%m/%Y %H:%M:%S";
$strf=strftime($format);
echo("$strf");
print_r(strptime($strf,$format));
 
OUTPUT :
03/10/2005 13:23:44
Array
(
[tm_sec] => 44
[tm_min] => 23
[tm_hour] => 13
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 105
[tm_wday] => 0
[tm_yday] => 276
[unparsed] =>
)