php时间戳转换成时间的方法

什么是时间戳

在计算机领域,时间戳是一个能够精确记录某一时刻的点的单一的值或者代码。Unix时间戳是从

1970 年 1 月 1 日 00:00:00 (UTC) 经过的秒数,因此 Unix 时间戳是从这个时刻起进行计算的。

PHP时间戳转换成日期格式

使用PHP内置函数date()

PHP中有一个内置函数 date() 方法,可以将一个 Unix 时间戳转换成对应的日期,写法如下:

$unixTime = time();

$date = date("Y-m-d H:i:s",$unixTime);

echo $date; //输出例如:2021-11-11 15:53:16

其中,第一个参数是要转换的 Unix 时间戳,第二个参数是输出格式,可以自定义输出的时间格式。

手动转换时间戳

手动转换 Unix 时间戳也很简单,只需要用 date() 函数实现 Unix 时间戳的提取,再用 substr() 函数和爆炸函数分离年份、月份、日期、小时、分钟、秒的值。

$unixTime = time();

$year= date("Y",$unixTime);//获取年份

$month=date("m",$unixTime);//获取月份

$day= date("d",$unixTime);//获取日期

$hour=date("H",$unixTime);//获取小时

$minute=date("i",$unixTime);//获取分钟

$second=date("s",$unixTime);//获取秒

$dateString=$year.'/'.$month.'/'.$day.' '.$hour.':'.$minute.':'.$second;

echo $dateString;//输出例如:2021/11/11 15:53:16

日期格式转换成时间戳

使用PHP内置函数strtotime()

在 PHP 中,要将日期格式转换成时间戳,我们可以使用 strtotime() 函数,写法如下:

$date = '2021-11-11 15:53:16';

$timestamp = strtotime($date);

echo $timestamp;//输出例如:1636603996

其中,$date 参数表示要转换成时间戳的日期格式字符串,$timestamp 参数表示通过 strtotime() 函数转换得到的时间戳。

手动转换日期格式

手动将日期格式转换成时间戳,可以使用 mktime() 函数,格式如下:

$date = '2021-11-11 15:53:16';

list($year,$month,$day,$hour,$minute,$second) = sscanf($date, "%d-%d-%d %d:%d:%d");

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

echo $timestamp;//输出例如:1636603996

其中,$date 参数表示要转换成时间戳的日期格式字符串,list() 函数将日期中的年、月、日、时、分、秒提取出来,并赋值给对应的变量,mktime() 函数将这些日期变量转换成时间戳。

总结

时间戳和日期转换在开发过程中是非常常用的功能,我们可以使用 PHP 内置的函数和手动实现的方式来实现这两个功能。

后端开发标签