PHP strptime

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

PHP : strptime() function


The strptime() function parses a time/date generated with strftime() and returns an array.


(PHP 4 and above)


strftime(str_date, format ) 




Required /



Day :
%a - Short day abbreviation ( Sun through Sat)
%A - A full day name ( Sunday through Saturday)
%d - Numeric day of the month with leading zeros (01 to 31)
%e - Day of the month without leading zeros (1 to 31 )
%j - Day of the year, 3 digits with leading zeros (001 to 366)
%u - ISO-8601 numeric day of the week 1 (for Monday) though 7 (for Sunday)
%w - Numeric day of the week 0 (for Sunday) through 6 (for Saturday)

Week :
%U - Week number of a specified year, starting with the first Sunday as the first week 13 (for the 13th full week of the year)
%V - ISO-8601:1988 week number of a specific year, starting the first week of the year with at least 4 weekdays. Example : Monday being the start of the week 01 through 53
%W - Numeric representation of week number of year. Week starting from Monday

Month :
%b - Abbreviated month name (Jan through Dec)
%B - Full month name (January through December)
%h - Abbreviated month name (Jan through Dec)
%m - Numeric representation of the month in two digits 01 (for January) through 12 (for December)

Year :
%C - Numeric representation of the century in two digits
%g - Two digit representation of the year going by ISO-8601:1988 standards
%G - The full four-digit representation of the year
%y - Numeric representation of the year in two digits (Example: 99 for1999)
%Y - Four digit representation for the year Example: 2011

Time :
%H - 24-hour format of an hour (00 through 23)
%I - 12-hour format of an hour (01 through 12 )
%l - 12-hour format of an hour without leading zeros (1 to 12)
%M -Minutes with leading zeros (00 through 59)
%p - UPPER-CASE 'AM' or 'PM'
%P - lower-case 'am' or 'pm'
%r - Same as "%I:%M:%S %p"
%R - Same as "%H:%M"
%S - Seconds with leading zero (00 through 59)
%T - Same as "%H:%M:%S"
%X - Represent times without the date
%z - The time zone offset from UTC or the abbreviation
%Z - The time zone offset or abbreviation if option NOT given by %z

Time and Date Stamps :
%c - A specific date and time stamp based on local
%D - Same as "%m/%d/%y"
%F - Same as "%Y-%m-%d" (usually used in database datestamps)
%s - Unix Epoch Time timestamp
%x - A date representation based on locale date, without the time

Miscellaneous :
%n - A newline character (" ")
%t - A Tab character (" ")
%% - A literal percentage character ("%")




An integer indicates the unixtimestamp. If a timestamp is not supplied, it gives the current local time.




Return value

An array, or FALSE on failure.

The following list describes the elements of the returned array.
tm_sec - seconds.
tm_min - minutes.
tm_hour - hour.
tm_mday - the day of the month.
tm_mon - the month of the year, starting with 0 for January.
tm_year - Years since 1900.
tm_wday - Day of the week.
tm_yday - Day of the year.
unparsed - the date part which was not recognized using the specified format.

Value Type : Array

Example :

  1. $format= '%d/%m/%Y %H:%M:%S';  

  2. $strf1 = strftime($format);  

  3. echo "$strf1";  

  4. print_r(strptime($strf1, $format));  

  5. ?>  

Output :

19/01/2011 05:48:50

Note : Since the time/date is not static, therefore the output may vary.