获取当前时间,需要用到 PHP Date() 函数。
PHP Date()
把时间戳格式化为更易读的日期和时间。
语法:
1 |
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)
实例:
1 2 3 4 5 6 |
<?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>"; ?> |
运行结果:
如果想要中文的年月日,可以这样写:
1 |
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 – 判断是否为夏令时
实例:
1 2 3 |
<?php echo "现在时间是:" . date("h:i:sa"); ?> |
运行结果:
如果需要基于具体位置的准确时间,可以设置要用的时区。
下面是把时区设置为 "Asia/Shanghai",然后以指定格式输出当前时间:
实例:
1 2 3 4 |
<?php date_default_timezone_set("Asia/Shanghai"); echo "当前时间是:" . date("h:i:sa"); ?> |
通过 getdate()
函数可以获取日期信息,而该函数返回值为一个数组,其中包括指定的日期和时间信息。如果没有给出时间戳,则输出的是本地当前的日期和时间。 声明如下:
array getdate(int timestamp);
1 2 3 |
<?php print_r(getdate()); ?> |
程序开发过程中,在需要设计填写日期和时间的模块中,有时会因为录入失误,而产生错误。为了避免些类问题的出现,在设计时就要对日期进行检验,就是利用 checkdate
函数。声明如下:
1 |
bool checkdata(int month,int day,int year); |
如果检验有效,返回 true
,否则返回 false
。month
的有效值在1-12,day
在给定的月之内,包括闰年,year
的值在 1-32767 之间。
1 2 3 |
<?php echo checkdate(6, 25, 2017);//1 ?> |
获取当前时间戳通过 time()
函数来实现。声明如下:
1 2 3 4 |
int time(); <?php echo time();//获取当前时间的时间戳 ?> |
date()
函数中可选的时间戳参数规定时间戳。
mktime()
函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:
1 |
mktime(hour,minute,second,month,day,year) |
使用 mktime()
函数中的一系列参数来创建日期和时间:
实例:
1 2 3 4 |
<?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()
函数用于把人类可读的字符串转换为 Unix 时间。
语法:
1 |
strtotime(time,now) |
通过 strtotime()
函数创建日期和时间:
实例:
1 2 3 4 |
<?php $d=strtotime("10:38pm April 15 2015"); echo "创建日期是 " . date("Y-m-d h:i:sa", $d); ?> |
PHP 在将字符串转换为日期这方面非常聪明,所以您能够使用各种值:
实例:
1 2 3 4 5 6 7 8 9 10 |
<?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()
并不完美,所以请记得检查放入其中的字符串。
输出下周六的日期:
实例:
1 2 3 4 5 6 7 8 9 |
<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks",$startdate); while ($startdate < $enddate) { echo date("M d", $startdate),"<br>"; $startdate = strtotime("+1 week", $startdate); } ?> |
输出七月四日之前的天数:
实例:
1 2 3 4 5 |
<?php $d1=strtotime("December 31"); $d2=ceil(($d1-time())/60/60/24); echo "距离十二月三十一日还有:" . $d2 ." 天。"; ?> |
使用 date() 函数在您的网站上自动更新版本年份:
实例:
1 |
© 2010-<?php echo date("Y")?> |
声明:本文由w3h5原创,转载请注明出处:《PHP获取当前时间、年份、月份、日期和天数》 https://www.w3h5.com/post/268.html