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

PHP时间处理技巧:10个函数帮你规划时间

发布时间:2023-06-19 12:27:21

PHP是一种广泛使用的服务器端脚本语言,用于Web开发。在PHP中,时间戳函数是比较常用的功能,但是有些时候,我们需要对时间进行格式化、计算、转换等处理。

下面介绍一些PHP时间处理技巧,包括10个常用函数,帮助你规划时间。

1. time()函数

time()函数可以获取当前时间戳,即从格林威治标准时间(GMT)1970年1月1日00时00分00秒到当前时间的秒数。它的用法很简单:

echo time();

2. date()函数

date()函数可以将时间戳格式化成指定的时间格式。它的用法如下:

date($format, $timestamp);

其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:

echo date('Y-m-d H:i:s');

上面的代码会输出当前时间的年月日时分秒,形如:2021-10-31 22:40:01。

3. strtotime()函数

strtotime()函数可以将人类可读的时间格式转换成时间戳。它的用法如下:

strtotime($time);

其中$time是人类可读的时间格式,例如'2021-10-31'、'last Monday'等。例如:

echo strtotime('2021-10-31');

上面的代码会输出2021年10月31日的时间戳。

4. time_diff()函数

time_diff()函数可以计算两个时间戳之间的时间差,或者计算某个时间戳到当前时间的时间差。它的用法如下:

time_diff($time1[, $time2]);

其中$time1是要计算的起始时间戳,$time2是要计算的结束时间戳,如果不指定$time2,则默认使用当前时间戳。例如:

echo time_diff(strtotime('2021-10-31'), time());

上面的代码会输出当前时间距离2021年10月31日的时间差。

5. mktime()函数

mktime()函数可以生成一个指定时间的时间戳。它的用法如下:

mktime($hour, $minute, $second, $month, $day, $year);

其中$hour、$minute、$second、$month、$day、$year分别是小时、分钟、秒、月、日、年。例如:

echo mktime(0, 0, 0, 10, 31, 2021);

上面的代码会生成2021年10月31日0时0分0秒的时间戳。

6. strtotime_diff()函数

strtotime_diff()函数可以计算两个人类可读的时间格式之间的时间差,或者计算某个人类可读的时间格式到当前时间的时间差。它的用法如下:

strtotime_diff($time1[, $time2]);

其中$time1是要计算的起始时间,$time2是要计算的结束时间,如果不指定$time2,则默认使用当前时间。例如:

echo strtotime_diff('2021-10-31', 'now');

上面的代码会输出当前时间距离2021年10月31日的时间差。

7. strftime()函数

strftime()函数可以根据指定的格式将时间戳格式化成可读的本地时间。它的用法如下:

strftime($format, $timestamp);

其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:

echo strftime('%Y年%m月%d日 %H时%M分%S秒', time());

上面的代码会输出当前时间的中文格式。

8. getdate()函数

getdate()函数可以获取指定时间戳的详细信息,包括年、月、日、时、分、秒、星期几、当年第几天等。它的用法如下:

getdate($timestamp);

其中$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:

print_r(getdate(time()));

上面的代码会输出当前时间的详细信息。

9. gmdate()函数

gmdate()函数可以将时间戳格式化成指定的GMT时间格式。它的用法和date()函数一样,区别在于gmdate()函数是以GMT时间为准,而date()函数是以本地时间为准。例如:

echo gmdate('Y-m-d H:i:s');

上面的代码会输出当前的GMT时间。

10. strtotime_to_date()函数

strtotime_to_date()函数可以将时间戳转换成指定的人类可读的时间格式。它的用法如下:

strtotime_to_date($format, $timestamp);

其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:

echo strtotime_to_date('Y-m-d H:i:s', time());

上面的代码会将当前时间戳格式化成年月日时分秒的格式。