时间处理函数date()详解-时间格式化、计算时间差等等
在PHP中操作时间非常方便,PHP提供了一系列的时间处理函数来实现各种时间相关的需求。其中date()函数是最常用的函数之一,主要用于将时间格式化输出。本文将详细介绍date()函数。
一、date()函数的基本用法
date()函数的基本语法如下:
string date ( string $format [, int $timestamp = time() ] )
其中,$format参数是必须的,用于指定输出的时间格式;$timestamp参数是可选的,表示要格式化的时间戳,不传入则默认为当前时间戳(即time()函数返回的时间戳)。
例如:
echo date("Y-m-d H:i:s"); //输出当前时间的年-月-日 时:分:秒格式
echo date("今天是Y年m月d日,现在是H点i分s秒。"); //输出自定义的格式
二、date()函数格式化时间的常用格式符
date()函数支持很多格式化时间的格式符,可以根据需要自由组合。以下列出部分常用的格式符:
1.年份
Y:四位数的年份,如:2021;
y:两位数表示的年份,如:21。
2.月份
m:表示月份,如:06、12等;
M:英文缩写的月份,如:Jan、Dec等。
3.日
d:月份中的日期,两位数表示,如:01、31等。
4.时
H:24小时制下的小时,两位数表示,如:00、23等;
h:12小时制下的小时,两位数表示,如:01、12等。
5.分
i:分钟数,两位数表示,如:01、59等。
6.秒
s:秒数,两位数表示,如:00、59等。
7.其他
a:表示“上午”或“下午”;
A:表示“AM”或“PM”;
w:表示星期几,0表示星期日,1表示星期一,以此类推;
W:表示当前年的第几周;
t:表示当前月份总共有多少天;
L:表示当前年份是否为闰年,是则为1,否则为0;
Z:表示当前时区与UTC时区的秒数差。
以上只是部分常用的格式符,实际上date()函数支持的格式符远不止这些。
例如:
echo date("Y年m月d日 H时i分s秒"); //输出格式为年月日时分秒
echo date("Y-m-d H:i:s", time() - 3600); //输出当前时间一小时前的年月日时分秒
三、计算时间差
除了将时间格式化输出,date()函数还可以用来计算时间差。例如,计算2个时间相差多少天,可以用以下代码实现:
$first_time = strtotime("2021-07-01"); // 个时间戳
$second_time = strtotime("2021-07-15"); //第二个时间戳
$days = ($second_time - $first_time) / (3600 * 24); //计算相差天数
echo "两个时间相差".$days."天";
上述代码首先用strtotime()函数将指定的日期字符串转换成时间戳;然后计算2个时间戳之间相差的天数,并输出。
四、总结
date()函数是PHP中非常常用的时间处理函数,可以实现对时间的格式化输出和计算时间差等功能。要熟练掌握date()函数,需要了解常用的格式符,并熟练使用strtotime()函数来将时间字符串转换为时间戳。
