PHP strtotime() Function with Examples

The strtotime() function in PHP is a built-in function that converts a human-readable date and time string into a Unix timestamp.

A Unix timestamp represents the number of seconds since January 1, 1970 00:00:00 GMT. You can use this function to perform date and time operations such as adding or subtracting intervals from a given date.

Syntax of strtotime() Function in PHP


The basic syntax of strtotime() function in PHP is as:

strtotime(datetime, baseTimestamp)

Parameters:

PHP strtotime() function accepts two parameters:

  • datetime (Required): This parameter specifies the date/time string. Example: “now”, “10 September 2000”, “next Monday”, “last Friday”, “tomorrow”, etc.
  • baseTimestamp (Optional): This parameter specifies the timestamp used as the base for calculating relative dates. If omitted, the current time is used.

Return Value:

  • Returns a Unix timestamp (integer) on success.
  • Returns false if the date/time string is invalid.

Basic Examples of PHP strtotime() Function


Let’s take some important examples based on PHP strtotime() function.

Example 1: Tomorrow

You can use natural English phrases like “tomorrow”, “next week”, “next Sunday”, “last Friday”, etc.

<?php
echo date("Y-m-d", strtotime("tomorrow"));
?>

Output:

2025-10-14

In this example, we have used the strtotime() function that converts a human-readable date/time string into a Unix timestamp. Here, the string “tomorrow” is interpreted as 24 hours after the current time. Therefore, the strtotime(“tomorrow”) function returns the Unix timestamp for tomorrow’s date at 00:00:00 (midnight). For example, if today is October 13, 2025, then strtotime(“tomorrow”) returns the timestamp for October 14, 2025, 00:00:00.


Then, we have called the date() function to format a given timestamp into a human-readable string. The format “Y-m-d” means:

  • Y → 4-digit year (e.g., 2025)
  • m → 2-digit month (e.g., 10)
  • d → 2-digit day (e.g., 14)

So, it converts the timestamp for tomorrow into a date string like “2025-10-14”.

Example 2: Next week

<?php
echo date("Y-m-d", strtotime("next week"));
?>

Output:

2025-10-20

Example 3: Specific date

<?php
$timestamp = strtotime("2025-10-08");
echo date("l, F j, Y", $timestamp);
?>

Output:

Wednesday, October 8, 2025

These examples dynamically calculate dates based on the current day.

Example 4: Convert Date String to Timestamp in PHP

<?php
$dateString = "08 October 2025";
$timestamp = strtotime($dateString);
echo "Timestamp for $dateString is: " . $timestamp;
?>

Output:

Timestamp for 08 October 2025 is: 1759874400

In this example, the strtotime() function converts the string “08 October 2025” is converted into a Unix timestamp.

Example 5: Adding or Subtracting Days

PHP strtotime() function allows arithmetic operations like adding or subtracting days, months, or years. Look at the below example.

<?php
$today = date("Y-m-d");
$nextWeek = date("Y-m-d", strtotime("+1 week"));
$lastMonth = date("Y-m-d", strtotime("-1 month"));
$nextYear = date("Y-m-d", strtotime("+1 year"));

echo "Today: $today <br>";
echo "Next Week: $nextWeek <br>";
echo "Last Month: $lastMonth <br>";
echo "Next Year: $nextYear";
?>

Output:

Today: 2025-10-13
Next Week: 2025-10-20
Last Month: 2025-09-13
Next Year: 2026-10-13

Example 6: Using strtotime() Function with Base Timestamp

The second parameter (baseTimestamp) in the strtotime() function lets you calculate dates relative to a specific time rather than current time.

<?php
$baseDate = strtotime("2025-01-01");
$newDate = strtotime("+10 days", $baseDate);
echo "10 days after 2025-01-01 is: " . date("Y-m-d", $newDate);
?>

Output:

10 days after 2025-01-01 is: 2025-01-11

Example 7: Find Difference Between Two Dates

You can use strtotime() function to calculate date differences in days.

<?php
$date1 = strtotime("2025-10-13");
$date2 = strtotime("2025-12-31");
$diff = ($date2 - $date1) / (60 * 60 * 24);
echo "Days between dates: " . $diff;
?>

Output:

Days between dates: 79

Example 8: Calculate Future Expiry Date (Advanced Example)

Suppose you have a subscription system where each user’s plan expires after 30 days. You can use strtotime() function to calculate the expiry date.

<?php
$signupDate = "2025-10-13";
$expiryTimestamp = strtotime("+30 days", strtotime($signupDate));
$expiryDate = date("Y-m-d", $expiryTimestamp);

echo "Signup Date: $signupDate <br>";
echo "Expiry Date: $expiryDate";
?>

Output:

Signup Date: 2025-10-13
Expiry Date: 2025-11-12

Conclusion

In this tutorial, you learned how to use the PHP strtotime() function to convert human-readable date and time strings into Unix timestamps. I hope that you will have understood the basic syntax of strtotime() function and practiced all basic to advanced examples.

DEEPAK GUPTA

DEEPAK GUPTA

Deepak Gupta is the founder of Scientech Easy and a passionate coding educator with 8 years of professional experience in Java, Python, web development, and core computer science subjects. With expertise in full-stack development, he provides hands-on training in programming languages and in-demand technologies at the Scientech Easy Institute, Dhanbad.

He consistently publishes in-depth tutorials, practical coding examples, and valuable learning resources for beginners as well as working professionals. Each article is carefully researched and reviewed to ensure accuracy, quality, and real-world relevance.