New Page  |  Edit Page

Date & Time

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 Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z). Literally speaking the epoch is Unix time 0 (midnight 1/1/1970), but 'epoch' is often used as a synonym for Unix time. Some systems store epoch dates as a signed 32-bit integer, which might cause problems on January 19, 2038 (known as the Year 2038 problem or Y2038).


strtotime("15 November 2018");


PHP date function is an in-built function that simplify working with date data types.

date(output format, epoch);

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.

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)


$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;



use \Datetime;

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3


$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();
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.

$timezone_identifiers = DateTimeZone::listIdentifiers();
foreach($timezone_identifiers as $key => $list){
    echo $list . "";


//mktime(hour, minute, second, month, day, year, is_dst);
echo mktime(0,0,0,10,13,2025);


r Returns the full date and time
a, A Returns whether the current time is am or pm, AM or PM respectively
g, G Returns the hour without leading zeroes [1 to 12], [0 to 23] respectively
h, H Returns the hour with leading zeros [01 to 12],[00 to 23] respectively
i, s Returns the minutes/seconds with leading zeroes [00 to 59]
d Returns the day of the month with leading zeroes [01 to 31]
j Returns the day of the month without leading zeroes [1 to 31]
D Returns the first 3 letters of the day name [Sub to Sat]
l Returns day name of the week [Sunday to Saturday]
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)
z Returns the day of the year without leading spaces [0 through to 365]
n Returns the month number without leading zeroes [01 to 12]
M Returns the first 3 letters of the month name [Jan to Dec]
F Returns the month name [January to December]
t Returns the number of days in a month [28 to 31]
L Returns 1 if it’s a leap year and 0 if it is not a leap year
Y Returns four digit year format
y Returns two (2) digits year format (00 to 99)