[Previous] [Contents] [Next]

String to timestamp

This function generates a timestamp by parsing the human-readable date and time-between December 13, 1901 and January 19, 2038-from the string time:

integer strtotime(string time)

strtotime function

strtotime function parse about any English textual datetime description into a Unix timestamp. The function interprets several standard representations of a date, as shown here:

Absolute dates and times

$var = strtotime("25 December 2002");
$var = strtotime("14/5/1955");
$var = strtotime("Fr1, 7 Sep 2001 10:28:07 -1000");

The current time: equivalent to time( ).

$var = strtotime("now");

Relative times

echo strtotime("+1 day");
echo strtotime("-2 weeks");
echo strtotime("+2 hours 2 seconds");

Care should be taken when using strtotime( ) with user-supplied dates. It's better to limit the use of strtotime( ) to cases when the string to be parsed is under the control of the script, for example, checking a minimum age using a relative date:

// date of birth: timestamp for 16 August, 1983
$dob = mktime(0, 0, 0, 16, 8, 1982);
// Now check that the individual is over 18
if ((float)$dob < (float)strtotime("-18 years"))
  echo "Legal to drive in the state of Victoria";

Note that both timestamps are cast to floating-point numbers before comparing them to avoid the integer overflow problem highlighted earlier. A different solution to this problem is presented in tutorial 7.

[Previous] [Contents] [Next]