The date function in PHP can format the date and time and display it. These are also some examples that we often use. Let’s introduce it to my friends. I hope this tutorial will be helpful to everyone.
time() function
The time() function returns the Unix timestamp of the current time. Returns the number of seconds since the Unix epoch (January 1, 1970 00:00:00 GMT) to the current time.
Since PHP 5.1, the timestamp of the time when the request was initiated is saved in $_SERVER['REQUEST_TIME'].
The code is as follows | Copy code | ||||||||
echo($time . " "); echo(date("D F d Y", $time)); ?> Program execution result: 1292984702
Wed December 22 2010 |
The unit of 1292984702 is seconds, the number of seconds from 00:00:00 on January 1, 1970 to the present.
代码如下 | 复制代码 |
echo("Result with date(): echo("Result with gmdate(): 程序运行结果:
Result with gmdate(): |
The code is as follows | Copy code | ||||
$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs echo 'Now: '. date('Y-m-d') ." "; echo 'Next Week: '. date('Y-m-d D', $nextWeek) ." "; ?>
|
The code is as follows | Copy code |
echo("Result with date(): "); echo(date("l") . " "); echo(date("l dS of F Y h:i:s A") . " "); echo("Oct 3,1975 was on a ".date("l", mktime(0,0,0,10,3,1975))." "); echo(date(DATE_RFC822) . " "); echo(date(DATE_ATOM,mktime(0,0,0,10,3,1975)) . " "); echo("Result with gmdate(): "); echo(gmdate("l") . " "); echo(gmdate("l dS of F Y h:i:s A") . " "); echo("Oct 3,1975 was on a ".gmdate("l", mktime(0,0,0,10,3,1975))." "); echo(gmdate(DATE_RFC822) . " "); echo(gmdate(DATE_ATOM,mktime(0,0,0,10,3,1975)) . " "); ?> Program execution result: Result with date(): Wednesday Wednesday 22nd of December 2010 02:36:18 AM Oct 3,1975 was on a Friday Wed, 22 Dec 10 02:36:18 +0000 1975-10-03T00:00:00+00:00 Result with gmdate(): Wednesday Wednesday 22nd of December 2010 02:36:18 AM Oct 3,1975 was on a Friday Wed, 22 Dec 10 02:36:18 +0000 1975-10-03T00:00:00+00:00 |
The code is as follows | Copy code |
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8); |
In this way, the correct results are obtained regardless of whether it is under Linux+Apache or Windows. Of course, there is another advantage of writing this way. When the website is for the whole world, the website user only needs to set the time zone, and the program will automatically adjust the time zone according to the user's location. The set time zone is used for time calculation. The information release time in the database only stores the time generated by the current time(). Then the release time seen in China +8 time zone is: 2007-03-14 12:15:27, then in Users in the European +2 time zone will see that the release time of this information is: 2007-03-14 06:15:27, so that all the times of the information will be correct.
A custom format for displaying dates for the community
代码如下 | 复制代码 |
/** * 格式化显示时间函数 * * 类似豆瓣(几秒前/几分前/今天3:50/昨天3:50/3-6) * * @param $timestamp 时间戳 必选参数,后面三个参数可选,为提高计算速度,建议直接赋值 * @param $now 当前时间戳 * @param $today 今天00:00时间戳 * @param $yesterday 昨天00:00时间戳 * @return string */ function timeshow($timestamp,$now=0,$today=0,$yesterday = 0){ if(! $timestamp){return '';} if(! $now){$now = time();} if(! $today){$today = strtotime("today");} if(! $yesterday){$yesterday = $today-86400;} $cha = $now-$timestamp; if($cha<60){ return $cha."秒前"; }elseif($cha<60*60){ $min = floor($cha/60); return $min."分钟前"; }elseif($timestamp>=$today){ return date("今天H:i",$timestamp); }elseif($timestamp>=$yesterday){ return date("昨天H:i",$timestamp); }else{ return date("m-d",$timestamp); } } |
At the end of the article, I will introduce you to some parameters
格式化方式 | 说明 |
---|---|
Y | 4位数字年,y为2位数字,如99即1999年 |
m | 数字月份,前面有前导0,如01。n 为无前导0数字月份 |
F | 月份,完整的文本格式,例如 January 或者 March |
M | 三个字母缩写表示的月份,例如 Jan 或者 Mar |
d | 月份中的第几天,前面有前导0,如03。j 为无前导0的天数 |
w | 星期中的第几天,以数字表示,0表示星期天 |
z | 年份中的第几天,范围0-366 |
W | 年份中的第几周,如第32周 |
H | 24小时格式,有前导0,h为12小时格式 |
G | 24小时格式,无前导0,g为对应12小时格式 |
i | 分钟格式,有前导0 |
s | 秒格式,有前导0 |
A | 大写上下午,如AM,a为小写 |
The optional parameter timestamp represents the timestamp, and the default is time(), which is the current timestamp.