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 时间戳转化函数的详细内容。