The date() and time() functions allow you to get the date and time from the web server. These functions can be used to get dates and time in different formats.
These functions depend on timezone settings of the web server.
Current Date and Time
Syntax:
date(string format, int timestamp)
The date() function returns a formatted string representing a date; a passing second-time parameter is optional, the current local timestamp will be used if no timestamp is given.
Also, other characters like "-", ":" can be used between the letters to add additional formatting.
Example:
<?php
//current Date, i.e. 2013-08-01
echo date("Y-m-d");
//current Time in 12 hour format, i.e. 08:50:55pm
echo date("h:i:sa");
//current Time in 24 hour format, i.e. 18:00:23
echo date("H:i:s");
//current Month, i.e. 08
echo date("m");
//current Month name, i.e. Aug
echo date("M");
?>
The Timestamp
The date() function always use the current timestamp, whether you passed it one or not.
Timestamp: A timestamp is a number of seconds from January 1, 1970, at 00:00. Otherwise known as the Unix Timestamp, this measurement is a widely used standard that PHP has chosen to utilize.
We can get current timestamp by using time() function.
Example:
<?php
//current Timestamp, i.e. 1377540167
echo time();
?>
Increase/Decrease date using timestamp
Example:
<?php
// Increase one day from current date
echo "Date is ".date("Y-m-d", time()+86400);
."<br>"
// Decrease 15 days from current date
echo "Date is ".date("Y-m-d",time()-(86400*15));
?>
PHP Date string Reference
The date() function offers several possible formatting options. You can also customize the output from the format string. The following is the complete list of formatting options are available:
a | am or pm |
A | AM or PM |
B | Swatch Internet time |
d | day of the month, two digits with leading zeros; i.e., "01" to "31" |
D | day of the week, textual, three letters; i.e., "Fri" |
F | month, textual, long; i.e., "January" |
g | hour, 12-hour format without leading zeros; i.e. "1" to "12" |
G | hour, 24-hour format without leading zeros; i.e., "0" to "23" |
h | hour, 12-hour format; i.e. "01" to "12" |
H | hour, 24-hour format; i.e. "00" to "23" |
i | minutes; i.e. "00" to "59" |
I | (capital i) "1" if Daylight Savings Time, "0" otherwise |
j | day of the month without leading zeros; i.e., "1" to "31" |
l | (lowercase 'L') day of the week, textual, long; i.e., "Friday" |
L | boolean for whether it is a leap year; i.e., "0" or "1" |
m | month; i.e. "01" to "12" |
M | month, textual, 3 letters; i.e. "Jan" |
n | month without leading zeros; i.e. "1" to "12" |
r | RFC 822 formatted date; i.e. "Thu, 21 Dec 2000 16:01:07 +0200" (added in PHP 4.0.4) |
s | seconds; i.e. "00" to "59" |
S | English ordinal suffix, textual, 2 characters; i.e. "th", "nd" |
t | number of days in the given month; i.e., "28" to "31" |
T | Timezone setting of this machine; i.e. "MDT" |
U | seconds since the epoch |
w | day of the week, numeric, i.e., "0" (Sunday) to "6" (Saturday) |
Y | year, 4 digits; i.e. "1999" |
y | year, 2 digits; i.e. "99" |
z | day of the year; i.e., "0" to "365" |
Z | timezone offset in seconds (i.e. "-43200" to "43200"). |
Example:
<?php
print date("m/d/y G.i:s<br>", time());
//Outputs i.e. 12/26/13 18.36:50
print "Today is ";
print date("j \of\ F Y, \a\\t g.i a", time());
//Outputs i.e. Today is 26 of December 2013, at 6.36 pm
?>
PHP date_default_timezone_set() Function
This function is required to use in the program to deal with different time zone. Sets the default timezone used by all date/time functions in a script.
Example:
<?php
date_default_timezone_set("Asia/Bangkok");
//or
date_default_timezone_set('India/Kolkata');
echo date_default_timezone_get();
?>