PHP Date() & Time Function: How to Get Current Timestamp?

PHP date() Function

PHP date function is an in-built function that simplify working with date data types. The PHP date function is used to format a date or time into a human readable format. It can be used to display the date of article was published. record the last updated a data in a database.

PHP Date Syntax & Example

PHP Date the following basic syntax

<?php
date(format,[timestamp]);
?>

HERE,

  • “date(…)” is the function that returns the current timestamp in PHP on the server.
  • “format” is the general format which we want our output to be i.e.;
    • “Y-m-d” for PHP date format YYYY-MM-DD
    • “Y” to display the current year
    • “[timestamp]” is optional. If no timestamp has been provided, PHP will get the current PHP date time on the server.

Let’s look at a basic example that displays the current year.

<?php

echo date("Y");

?>

Output:

2018

What is a TimeStamp?

A timestamp in PHP is a numeric value in seconds between the current time and value as at 1st January, 1970 00:00:00 Greenwich Mean Time (GMT).

The value returned by the time function depends on the default time zone.

The default time zone is set in the php.ini file.

It can also be set programmatically using date_default_timezone_set function.

The code below displays the current time stamp

<?php

echo time();

?>

Assuming you saved the file timestamp.php in phptuts folder, browse to the URL http://localhost/phptuts/timestamp.php

TimeStamp

Note: the value of the timestamp PHP is not a constant. It changes every second.

Getting a list of available time zone identifiers

Before we look at how to set the default time zone programmatically, let’s look at how to get a list of supported time zones.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

HERE,

  • “$timezone_identifiers = DateTimeZone::listIdentifiers();” calls the listIdentifiers static method of the DateandTime Zone built in class.The listIdentifiers method returns a list of constants that are assigned to the variable $timezone_identifiers.
  • “foreach{…}” iterates through the numeric array and prints the values.

Assuming you saved the file list_time_zones.php in phptuts folder, browse to the URL http://localhost/phptuts/list_time_zones.php

 Time Zone Identifiers

PHP set Timezone Programmatically

The date_default_timezone_set function allows you to set the default time zone from a PHP script.

The set time zone will then be used by all date in PHP function scripts. It has the following syntax.

<?php
date_default_timezone_set (string $timezone_identifier);
?>

HERE,

  • “date_default_timezone_set()” is the function that sets the default time zone
  • “string $timezone_identifier” is the time zone identifier

The script below displays the time according to the default time zone set in php.ini.

It then changes the default time zone to Asia/Calcutta and displays the time again.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Assuming you have saved the file set_time_zone.php in the phptuts folder, browse to the URL http://localhost/phptuts/set_time_zone.php

PHP set Timezone Programmatically

PHP Mktime Function

The mktime function returns the timestamp in a Unix format.

It has the following syntax.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

HERE,

  • “mktime(…)” is the make PHP timestamp function
  • “hour” is optional, it is the number of hour
  • “minute” is optional, it is the number of minutes
  • “second” is optional, it is the number of seconds
  • “month” is optional, it is the number of the month
  • “day” is optional, it is the number of the day
  • “year” is optional, it is the number of the year
  • “is_dst” is optional, it is used to determine the day saving time (DST). 1 is for DST, 0 if it is not and -1 if it is unknown.

Let’s now look at an example that creates a timestamp for the date 13/10/2025 using the mktime function.

<?php

echo mktime(0,0,0,10,13,2025);

?>

HERE,

  • “0,0,0” is the hour, minute and seconds respectively.
  • “13” is the day of the month
  • “10” is the month of the year
  • “2025” is the year

Output:

1760328000

PHP Date function reference

The table below shows the common parameters used when working with the PHP date functions.

PHP Time parameters

Parameter Description Example
“r” Returns the full date and time
<?php
echo date("r");
?>
“a”,”A” Returns whether the current time is am or pm, AM or PM respectively
<?php
echo date("a");
echo date("A");
?>
“g”,”G” Returns the hour without leading zeroes [1 to 12], [0 to 23] respectively
<?php
echo date("g"); 
echo date("G");
?>
“h”,”H” Returns the hour with leading zeros [01 to 12],[00 to 23] respectively
<?php
echo date("h"); 
echo date("H");
?>
“i”,”s” Returns the minutes/seconds with leading zeroes [00 to 59]
<?php
echo date("i"); 
echo date("s");
?>

Day parameters

Parameter Description Example
“d” Returns the day of the month with leading zeroes [01 to 31]
<?php
echo date("d");
?>
“j” Returns the day of the month without leading zeroes [1 to 31]
<?php
echo date("j");
?>
“D” Returns the first 3 letters of the day name [Sub to Sat]
<?php
echo date("D");
?>
“l” Returns day name of the week [Sunday to Saturday]
<?php
echo date("l");
?>
“w” Returns day of the week without leading zeroes [0 to 6] Sunday is represent by zero (0) through to Saturday represented by six (6)
<?php
echo date("w");
?>
“z” Returns the day of the year without leading spaces [0 through to 365]
<?php
echo date("z");
?>

Month Parameters

Parameter Description Example
“m” Returns the month number with leading zeroes [01 to 12]
<?php
echo date("m");
?>
“n” Returns the month number without leading zeroes [01 to 12]
<?php
echo date("n");
?>
“M” Returns the first 3 letters of the month name [Jan to Dec]
<?php
echo date("M");
?>
“F” Returns the month name [January to December]
<?php
echo date("F");
?>
“t” Returns the number of days in a month [28 to 31]
<?php
echo date("t");
?>

Year Parameters

Parameter Description Example
“L” Returns 1 if it’s a leap year and 0 if it is not a leap year
<?php
echo date("L");
?>
“Y” Returns four digit year format
<?php
echo date("Y");
?>
“y” Returns two (2) digits year format (00 to 99)
<?php
echo date("y");
?>

Summary

  • The date function in PHP is used to format the timestamp into a human desired format.
  • The timestamp is the number of seconds between the current time and 1st January, 1970 00:00:00 GMT. It is also known as the UNIX timestamp.
  • All PHP date() functions use the default time zone set in the php.ini file
  • The default time zone can also be set programmatically using PHP scripts.