获取当前时间,需要用到 PHP Date() 函数。
PHP Date()
把时间戳格式化为更易读的日期和时间。
语法:
date(format,timestamp)
其中参数 format
为显示格式,参数 timestamp
为时间戳,是可选择的,默认为 time()
,即如果没有给出时间戳则使用本地当前时间。
format
格式参数在这里简单介绍几个:
一些常用于日期的字符:
Y - 完整表示年份(四位数字:2019)
y - 表示年份(两位数字:19)
F - 表示月份(完整的文本格式: January 或者 March)
M - 表示月份(3个字母:Jun)
m - 表示月份,有前导0(数字:04)
n - 表示月份,无前导0(数字:4)
d - 表示月份中的第几天,有前导0(01-31)
j - 表示月份中的第几天,无前导0(1-31)
D - 表示星期几(3字母:Wed)
l - 表示星期几(完整英文:Wednesday)
w - 表示星期中的第几天(数字,0表示星期天)
W - 表示一年中的第几周
z - 表示一年中的第几天(0-366)
实例:
<?php echo "<p>今天是:" . date("Y/m/d") . "</p>"; echo "<p>今天是:" . date("Y.m.d") . "</p>"; echo "<p>今天是:" . date("Y-m-d") . "</p>"; echo "<p>今天是:" . date("l") . "</p>"; ?>
运行结果:
如果想要中文的年月日,可以这样写:
echo "现在时间是:" . date("Y年m月d日");
运行结果:
今天是:2019年04月24日
获得简单的时间:
常用于时间的字符:
H - 24小时格式,有前导0(08,18)
h - 12小时格式,有前导0(06,11)
G - 24小时格式,无前导0(9,17)
g - 12小时格式,无前导0(6,12)
i - 表示分钟,有前导0(00-59)
s - 表示秒,有前导0(00 -59)
A - 大写的午前和午后(AM 或 PM)
a - 小写的午前和午后(am 或 pm)
I - 判断是否为夏令时
实例:
<?php echo "现在时间是:" . date("h:i:sa"); ?>
运行结果:
获得时区:
如果需要基于具体位置的准确时间,可以设置要用的时区。
下面是把时区设置为 "Asia/Shanghai",然后以指定格式输出当前时间:
实例:
<?php date_default_timezone_set("Asia/Shanghai"); echo "当前时间是:" . date("h:i:sa"); ?>
getdate:获取日期信息
通过 getdate()
函数可以获取日期信息,而该函数返回值为一个数组,其中包括指定的日期和时间信息。如果没有给出时间戳,则输出的是本地当前的日期和时间。 声明如下:
array getdate(int timestamp);
<?php print_r(getdate()); ?>
checkdate:检验日期的有效性
程序开发过程中,在需要设计填写日期和时间的模块中,有时会因为录入失误,而产生错误。为了避免些类问题的出现,在设计时就要对日期进行检验,就是利用 checkdate
函数。声明如下:
bool checkdata(int month,int day,int year);
如果检验有效,返回 true
,否则返回 false
。month
的有效值在1-12,day
在给定的月之内,包括闰年,year
的值在 1-32767 之间。
<?php echo checkdate(6, 25, 2017);//1 ?>
time:获取当前时间戳
获取当前时间戳通过 time()
函数来实现。声明如下:
int time(); <?php echo time();//获取当前时间的时间戳 ?>
通过 PHP mktime() 创建日期
date()
函数中可选的时间戳参数规定时间戳。
mktime()
函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:
mktime(hour,minute,second,month,day,year)
使用 mktime()
函数中的一系列参数来创建日期和时间:
实例:
<?php $d=mktime(9, 12, 31, 6, 10, 2015); echo "创建日期是:" . date("Y-m-d h:i:sa", $d); ?>
运行结果:
创建日期是:2015-06-10 09:12:31AM
通过 PHP strtotime() 用字符串来创建日期
PHP strtotime()
函数用于把人类可读的字符串转换为 Unix 时间。
语法:
strtotime(time,now)
通过 strtotime()
函数创建日期和时间:
实例:
<?php $d=strtotime("10:38pm April 15 2015"); echo "创建日期是 " . date("Y-m-d h:i:sa", $d); ?>
PHP 在将字符串转换为日期这方面非常聪明,所以您能够使用各种值:
实例:
<?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?>
运行结果:
2019-04-25 12:00:00am
2019-04-27 12:00:00am
2019-07-24 05:53:08pm
不过,strtotime()
并不完美,所以请记得检查放入其中的字符串。
更多日期实例
输出下周六的日期:
实例:
<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks",$startdate); while ($startdate < $enddate) { echo date("M d", $startdate),"<br>"; $startdate = strtotime("+1 week", $startdate); } ?>
输出七月四日之前的天数:
实例:
<?php $d1=strtotime("December 31"); $d2=ceil(($d1-time())/60/60/24); echo "距离十二月三十一日还有:" . $d2 ." 天。"; ?>
网站自动版权年份
使用 date() 函数在您的网站上自动更新版本年份:
实例:
© 2010-<?php echo date("Y")?>