php中,date( ) 函数用于格式化日期和时间。语法:date(format,timestamp)。第一个参数必需,规定时间显示的格式。第二个参数可选,表示时间,省略时表示默认当前时间。php
<?php header("content-type: text/html;charset=utf-8"); echo date("Y年m月d日 H:i:s"); ?>
上段代码的意思是用“Y年m月d日 H:i:s”的格式显示当前时间,我当前时间下输出的结果是2017年10月15日 19:04:32。 其中,html
Y表示年(四位数);函数
y表示年(两位);测试
m表示月(01-12,两位);code
d表示月份中的某一日(01-31,两位);orm
l 表示星期几;htm
H表示二十四小时制的时(两位);utf-8
h表示十二小时制的时(两位);字符串
i表示带有首位零的分钟(两位);form
s 表示秒(00-59,两位);
a 小写的上午和下午(am或pm)
设置时区,我在mac系统上测试日期时必需先设置时区。在Windows系统下没设置时区也没报错,这里了解一下。
mktime(时,分,秒,月,日,年),包含六个参数,分别是 时、分、秒、月、日、年。该函数返回的结果是一个时间戳。它是当前时间到1970年1月1日的秒数。所以,能够用mktime()函数设置时间,而后用date()函数格式化时间。具体能够参考下一段代码(2008年08月08日 08:08:08):
<?php header("content-type: text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); $d=mktime(8, 8, 8, 8, 8, 2008); // hour min sec month day year echo date("Y年m月d日 H:i:s", $d); ?>
strtotime(时间字符串),这里参数字符串必需严格按照固定的格式: 如,“2008-08-08 08:08:08”。该函数的返回结果是一个时间戳,能够使用date( )函数来格式化时间格式。
<?php header("content-type: text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); $d=strtotime("2008-08-08 08:08:08"); // 固定的字符串格式 echo date("Y年m月d日 H:i:s", $d); echo "<br/>"; ?>
关于前n天后n天的问题,只需改变$d的值(单位是秒)。如,$d+=24*60*60。此时表示日期加1 。