strtotime
Description
The strtotime of Date / Time for PHP parse about any English textual datetime description into a Unix timestamp.
Syntax
strtotime(
string $datetime,
?int $baseTimestamp = null
): int|falseParameters
time
A date/time string. Valid formats are explained in Date and Time Formats.
baseTimestamp
The timestamp which is used as a base for the calculation of relative dates.
Return
Returns a timestamp on success, false otherwise.
Examples
1 · datetime
<? $datetime = "now"; $return = strtotime($datetime); echo $return;
1787271868
2 · baseTimestamp
<? $datetime = "now"; $baseTimestamp = time(); $return = strtotime($datetime, $baseTimestamp); echo $return;
1787271869
3 · -
<?
$array =
[
"now",
"-1 second",
"-1 minute",
"-1 hour",
"-1 day",
"-1 week",
"-1 month",
"-1 year",
"-1 year -1 month -1 week -1 day -1 hour -1 minute -1 second"
];
foreach($array as $datetime)
{
$return = strtotime($datetime);
$format = "Y-m-d W H:i:s";
$date = date($format, $return);
echo "$return: $date: $datetime\n";
}
1787271869: 2026-08-21 34 00:24:29: now 1787271868: 2026-08-21 34 00:24:28: -1 second 1787271809: 2026-08-21 34 00:23:29: -1 minute 1787268269: 2026-08-20 34 23:24:29: -1 hour 1787185469: 2026-08-20 34 00:24:29: -1 day 1786667069: 2026-08-14 33 00:24:29: -1 week 1784593469: 2026-07-21 30 00:24:29: -1 month 1755735869: 2025-08-21 34 00:24:29: -1 year 1752362608: 2025-07-12 28 23:23:28: -1 year -1 month -1 week -1 day -1 hour -1 minute -1 second
4 · +
<?
$array =
[
"now",
"1 second",
"1 minute",
"1 hour",
"1 day",
"1 week",
"1 month",
"1 year",
"1 year 1 month 1 week 1 day 1 hour 1 minute 1 second"
];
foreach($array as $datetime)
{
$return = strtotime($datetime);
$format = "Y-m-d W H:i:s";
$date = date($format, $return);
echo "$return: $date: $datetime\n";
}
1787271869: 2026-08-21 34 00:24:29: now 1787271870: 2026-08-21 34 00:24:30: 1 second 1787271929: 2026-08-21 34 00:25:29: 1 minute 1787275469: 2026-08-21 34 01:24:29: 1 hour 1787358269: 2026-08-22 34 00:24:29: 1 day 1787876669: 2026-08-28 35 00:24:29: 1 week 1789950269: 2026-09-21 39 00:24:29: 1 month 1818807869: 2027-08-21 33 00:24:29: 1 year 1822181130: 2027-09-29 39 01:25:30: 1 year 1 month 1 week 1 day 1 hour 1 minute 1 second
5 · day-based
<?
$array =
[
"now",
"yesterday",
"today",
"midnight",
"noon",
"tomorrow",
"front of 12",
"back of 12",
"previous day",
"next day",
"1 day ago",
"-1 day ago",
"first day of",
"last day of"
];
foreach($array as $datetime)
{
$return = strtotime($datetime);
$format = "Y-m-d W H:i:s";
$date = date($format, $return);
echo "$return: $date: $datetime\n";
}
1787271869: 2026-08-21 34 00:24:29: now 1787184000: 2026-08-20 34 00:00:00: yesterday 1787270400: 2026-08-21 34 00:00:00: today 1787270400: 2026-08-21 34 00:00:00: midnight 1787313600: 2026-08-21 34 12:00:00: noon 1787356800: 2026-08-22 34 00:00:00: tomorrow 1787312700: 2026-08-21 34 11:45:00: front of 12 1787314500: 2026-08-21 34 12:15:00: back of 12 1787185469: 2026-08-20 34 00:24:29: previous day 1787358269: 2026-08-22 34 00:24:29: next day 1787185469: 2026-08-20 34 00:24:29: 1 day ago 1787358269: 2026-08-22 34 00:24:29: -1 day ago 1785543869: 2026-08-01 31 00:24:29: first day of 1788135869: 2026-08-31 36 00:24:29: last day of
6 · specific
<?
$array =
[
"01-02-03",
"3 february 2001"
];
foreach($array as $datetime)
{
$return = strtotime($datetime);
$format = "Y-m-d W H:i:s";
$date = date($format, $return);
echo "$return: $date: $datetime\n";
}
981158400: 2001-02-03 05 00:00:00: 01-02-03 981158400: 2001-02-03 05 00:00:00: 3 february 2001
7 · holidays
<?
$array =
[
"Mother's Day" => "second sunday of may",
"Memorial Day" => "last monday of may",
"Father's Day" => "third sunday of june",
"Thanksgiving Day" => "fourth thursday of november"
];
foreach($array as $key => $datetime)
{
$return = strtotime($datetime);
$format = "Y-m-d";
$date = date($format, $return);
echo "$date: $key\n";
}
2026-05-10: Mother's Day 2026-05-25: Memorial Day 2026-06-21: Father's Day 2026-11-26: Thanksgiving Day
8 · escape
<? $datetime = "next day"; $return = strtotime($datetime); $format = 'l \t\h\e jS \o\f F Y \a\t h:i:s A'; $date = date($format, $return); echo "\"$datetime\" is $date";
"next day" is Saturday the 22nd of August 2026 at 12:24:29 AM
Links
Date / Time
- checkdate
- date
- date_add
- date_create
- date_create_from_format
- date_create_immutable
- date_create_immutable_from_format
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse
- date_parse_from_format
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get