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 ) 


Name Description Required /
format 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 ("\n")
%t - A Tab character ("\t")
%% - A literal percentage character ("%")
optional string
timestamp An integer indicates the unixtimestamp. If a timestamp is not supplied, it gives the current local time. optional integer

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


$format= '%d/%m/%Y %H:%M:%S';
$strf1 = strftime($format);
echo "$strf1";
print_r(strptime($strf1, $format));

Sample Output:

19/01/2011 05:48:50

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

View the example in the browser

See also

PHP Function Reference

Previous: strftime
Next: strtotime

PHP: Tips of the Day

Getting all defined constants

To get all defined constants including those created by PHP use the get_defined_constants function:


$constants = get_defined_constants();
var_dump($constants); // pretty large list


array(2250) {
  resource(1) of type (stream)
  resource(2) of type (stream)
  resource(3) of type (stream)

To get only those constants that were defined by your app call the function at the beginning and at the end of your script (normally after the bootstrap process):

$constants = get_defined_constants();
define("HELLO", "hello");
define("WORLD", "world");
$new_constants = get_defined_constants();
$myconstants = array_diff_assoc($new_constants, $constants);


array (
  'HELLO' => 'hello',
  'WORLD' => 'world',

It's sometimes useful for debugging