聊聊php 时间戳转化函数

PHPz
PHPz 原创
2023-03-29 10:46:19 270浏览

PHP时间戳转化函数

时间戳(timestamp)是一个表示时间的数字,可以用来表示从某个固定的时间点(例如格林威治标准时间的1970年1月1日0时0分0秒)到现在的秒数。在Web开发中,我们经常会用到时间戳。但是,时间戳一般是以10位数字的方式表示的,不太友好且难以阅读。本文将介绍一些PHP时间戳转化函数,使得我们能够方便地将时间戳转换成我们需要的日期格式。

一、date()函数

date()函数是PHP中用来格式化日期和时间的函数,也可以用来将时间戳转化为标准日期格式的函数。date()函数有两个参数,第一个必选参数是日期格式字符串,第二个可选参数是时间戳。如果没有指定时间戳,则默认使用当前时间。

例如,要将时间戳转换成标准日期格式(年-月-日 时:分:秒),可以使用以下代码:

$timestamp = 1567221493;  // 时间戳
$date = date('Y-m-d H:i:s', $timestamp);
echo $date;  // 输出:2019-08-31 16:38:13

在上面的代码中,将时间戳作为第二个参数传递给date()函数,第一个参数用来定义日期格式字符串。Y表示4位数的年份(例如2019),m表示2位数的月份(例如01),d表示2位数的日期(例如01),H表示24小时制的小时数(例如23),i表示分钟数(例如59),s表示秒数(例如00)。

二、gmdate()函数

gmdate()函数与date()函数非常类似,也可以用来格式化日期和时间,但是它会根据格林威治标准时间(GMT)来显示日期和时间。因此,可以将gmdate()函数用来将时间戳转换为GMT日期格式。

例如,要将时间戳转换成GMT日期格式,可以使用以下代码:

$timestamp = 1567221493;  // 时间戳
$date = gmdate('Y-m-d H:i:s', $timestamp);
echo $date;  // 输出:2019-08-31 08:38:13

在上面的代码中,同样是将时间戳作为第二个参数传递给gmdate()函数,第一个参数用来定义日期格式字符串。因为gmdate()函数显示的是GMT时间,所以输出的时间比本地时间早8个小时(也就是GMT+8)。

三、strtotime()函数

strtotime()函数可以将文本日期字符串解析为时间戳,也可以将时间戳转换为指定格式的日期字符串。该函数返回的是从标准UNIX时期(即1970年1月1日)开始计算的秒数。

例如,要将日期字符串(例如2019-08-31 16:38:13)转换成时间戳,可以使用以下代码:

$date_str = '2019-08-31 16:38:13';  // 日期字符串
$timestamp = strtotime($date_str);
echo $timestamp;  // 输出:1567221493

在上面的代码中,将日期字符串作为函数的唯一参数传递给strtotime()函数,函数会将日期字符串解析成时间戳。

四、DateTime类

DateTime是PHP中用来处理日期和时间的类,它提供了丰富的功能和方法。可以使用DateTime类来将时间戳转换为指定格式的日期字符串。

例如,要将时间戳转换成标准日期格式,可以使用以下代码:

$timestamp = 1567221493;  // 时间戳
$date_time = new DateTime();
$date_time->setTimestamp($timestamp);
$date = $date_time->format('Y-m-d H:i:s');
echo $date;  // 输出:2019-08-31 16:38:13

在上面的代码中,先创建一个DateTime对象,然后通过setTimestamp()方法将时间戳设置给对象,最后使用format()方法将对象转换为标准日期格式的字符串。

五、总结

以上介绍了PHP中一些常用的时间戳转化函数,包括date()函数、gmdate()函数、strtotime()函数和DateTime类。使用这些函数,可以将时间戳转换成任意格式的日期字符串,方便我们在Web开发中进行日期格式的处理。

以上就是聊聊php 时间戳转化函数的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。