PHP Date() & Time Function: How to Get Current Timestamp?
โก Smart Summary
PHP date() Function formats timestamps into human-readable dates and times. This walkthrough explains the date syntax, the Unix timestamp, how to list and set time zones, the mktime function for building timestamps, and a full reference of the time, day, month, and year format characters.

PHP date() Function
The PHP date function is a built-in function that simplifies 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 an article was published or record when data in a database was last updated.
PHP Date Syntax & Example
PHP date() has the following basic syntax.
<?php date(format,[timestamp]); ?>
HERE,
- “date(โฆ)” is the function that returns the current timestamp formatted in PHP on the server.
- “format” is the general format we want our output to be, for example:
- “Y-m-d” for the PHP date format YYYY-MM-DD
- “Y” to display the current year
- “[timestamp]” is optional. If no timestamp has been provided, PHP will use the current date and time on the server.
Let us look at a basic example that displays the current year.
<?php echo date("Y"); ?>
Output:
2026
What is a TimeStamp?
A timestamp in PHP is a numeric value in seconds between the current time and the value 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 the date_default_timezone_set function.
The code below displays the current timestamp.
<?php
echo time();
?>
Assuming you saved the file timestamp.php in the phptuts folder, browse to the URL http://localhost/phptuts/timestamp.php
Note: the value of the timestamp 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 us 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 DateTimeZone built-in class. The listIdentifiers method returns a list of identifiers that are assigned to the variable $timezone_identifiers.
- “foreach{โฆ}” iterates through the array and prints the values.
Assuming you saved the file list_time_zones.php in the phptuts folder, browse to the URL http://localhost/phptuts/list_time_zones.php
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 PHP functions in your 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 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 the 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 daylight saving time (DST). 1 is for DST, 0 if it is not, and -1 if it is unknown.
Let us 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.
- “10” is the month of the year
- “13” is the day of the month
- “2025” is the year
Output:
1760328000
PHP Date Format Reference
The tables below show the common format characters used when working with the PHP date functions.
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 [Sun to Sat] |
<?php echo date("D"); ?> |
| “l” | Returns the day name of the week [Sunday to Saturday] |
<?php echo date("l"); ?> |
| “w” | Returns the day of the week without leading zeroes [0 to 6]; Sunday is represented 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 [1 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 is a leap year and 0 if it is not a leap year |
<?php echo date("L"); ?> |
| “Y” | Returns the four digit year format |
<?php echo date("Y"); ?> |
| “y” | Returns the two digit year format (00 to 99) |
<?php echo date("y"); ?> |



