Time and date functions in PHP

Variables in PHP
File handling in PHP

In this article you will quickly learn more about time and date functions in PHP. We will cover the most common questions related date and time and next show in detail how to use the functions.

How do I get the current date and time in PHP?
Get the current date given a timezone in PHP?
Convert timestamp to time ago in PHP?
Convert a date format in PHP
How do I use PHP to get the current year?
Correctly determine if the date string is a valid date in that format
Convert timestamp to readable date/time PHP
Converting string to Date and DateTime

In this section, you will learn date and time functions in PHP’s latest version 8.0.

Date($time, $format)


Format  Set the format of the timestamp in the returned value. This function accept all formats accepted by DateTimeInterface::format().
TimestampSet the timestamp in the returned value. By default, it returns the current date and time. In other words, it defaults to the value of the time() function.  

To specify the format, you must know about the following characters representing the corresponding format.

dRepresents the day of the month (01 to 31)
mRepresents a month (01 to 12)
yRepresents a year (in four digits)
l(lowercase ‘L’) – Represents the day of the week

In PHP 8.0 the timestamp is now nullable.

Return value

SuccessIt returns a string formatted as defined by the format parameter.  
Errors/ExceptionsIf the time zone is not valid date function will return E_WARNING.  

To learn about valid time zones you can go to this link.


Get Date in a specific format

It is used to get the current data in the specified format.

echo " Date is " . date("Y/m/d") . " ";
echo " Date is " . date("Y.m.d") . " ";
echo " Date is " . date("Y-m-d") . " ";
echo " Date is " . date("l");

How to use the date function to get the current time in PHP

To get the current time in the specific format using the date function, pass the time characters in the date function. The most important and useful time characters in PHP are listed below.

H24-hour format of an hour (00 to 23)
h12-hour format of an hour with leading zeros (01 to 12)
iMinutes with leading zeros (00 to 59)
sSeconds with leading zeros (00 to 59)
aLowercase Ante meridiem and Post meridiem (am or pm)
Get the current time in a specific format
echo "Curent time is " . date("H:i:s");
Does the date function return client time or server time?

The above function will print the current time. The important thing to keep in mind here is that the date function returns the current date and time of the server machine. Most people get confused if this function will return client time, but that is not what it does.

How to set the time zone of the date function in PHP?

If you are not getting the correct time using the above example, your server may have been placed in another country and the time zone of your current location and server location is different. In this case you can use date_default_timezone_set(“Asia”); function to set the time zone of date function.


echo "The server time in my zone is " . date("h:i:sa");

What is the UNIX time stamp?

Unix timestamp is the number of seconds between 01 January-1970 and the current time specified.

How to create date in php

You can create your own timestamp or date in PHP using the time function. In this section, you will learn about mktime function in PHP 8.

mktime(hour, minute, second, month, day, year)

The parameters of the function are clear by their names. Let’s understand it with an example.


$date=mktime(7, 11, 34, 6, 09, 2021);
echo "My created date is " . date("Y-m-d h:i:s", $date);

How to create a date from a string in php?

Php has a very useful date function called strtotime(). This function converts a human readable date string into a Unix timestamp. If you want to know about Unix time, you can read it from the above section.

strtotime(time, now)


$date=strtotime("11:00am August 14 2021");
echo "Created date is " . date("Y-m-d h:i:sa", $d);

The string accepted by the strtotime function must be correct and valid formatted, otherwise, you will not get the correct in the output. Following are some examples related to the strtotime function.

Example of Strtotime

echo date("Y-m-d h:i:sa", $date);

$d=strtotime("next Friday");
echo date("Y-m-d h:i:sa", $date);

$d=strtotime("+4 Months");
echo date("Y-m-d h:i:sa", $date);

How to get the difference between two dates in php?

The date_diff() method subtracts two valid dates and outputs the difference in the form of a number of days.

date_diff(datetime1, datetime2, absolute)

The first and second parameters are date objects which will be subtracted and the third parameter is a Boolean. By default, it is set to false. If it is set to true, the difference will be positive.

Date_diff example


How to add days, months, years or hours, minutes, and seconds to date in PHP1?

If you are a PHP developer, you might have had a situation where you needed to add some time or date in another date object. For this PHP provides us with the date_add function.

Date objectSpecifies a DateTime object returned by date_create()
IntervalSpecifies a DateInterval object
date_add($date_to_be_added,date_interval_create_from_date_string("10 days"));
echo date_format($date,"Y-m-d");

To read more about the time and date functions in the latest PHP 8 version, please refer to the official PHP 8 page.

You can watch a short video related to the PHP date and time functions.

Variables in PHP
File handling in PHP

Tutor Network

Share this

Learn PHP from A to Z