欢迎访问宙启技术站
智能推送

时间处理函数date()详解-时间格式化、计算时间差等等

发布时间:2023-06-20 21:22:01

在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()函数来将时间字符串转换为时间戳。