这篇文章主要讲解了“怎么在PHP中实现字符串转时间戳的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在PHP中实现字符串转时间戳的功能”吧!
一、PHP 中时间戳的概念
在 PHP 中,时间戳(timestamp)是表示某一时间点的整数,精确到秒级别。从 Unix 时间开始算起,每经过一秒钟,时间戳就会增加一个值。Unix 时间是指从 1970 年 1 月 1 日 00:00:00(格林威治标准时间)起至现在的总秒数。
PHP 中提供了
time()函数可以获取当前时间的时间戳,例如:
$timeStamp = time(); echo $timeStamp; // 输出当前时间的时间戳
二、PHP 中的字符串转时间戳函数
在 PHP 中,我们可以使用
strtotime()函数来将字符串转成时间戳。该函数的原型如下:
int strtotime(string $time [, int $now = time() ]);
其中,
$time是需要转换的时间字符串,
$now是可选参数,表示当前时间的时间戳,默认时间戳是当前时间的时间戳。
如果
$time是一个合法的日期字符串,那么
strtotime()函数将返回该日期的时间戳,例如:
$timestamp = strtotime('2021-09-28'); echo $timestamp; // 输出 1632777600
如果
$time无法转换成时间戳,
strtotime()函数将返回
false,例如:
$timestamp = strtotime('not a valid date'); var_dump($timestamp); // 输出 bool(false)
除了日期字符串,
strtotime()函数还可以处理相对时间字符串,例如:
$timestamp = strtotime('now'); echo $timestamp; // 输出当前时间的时间戳 $timestamp = strtotime('+1 day'); echo $timestamp; // 输出明天这个时间的时间戳
三、PHP 中的时间戳转字符串函数
在 PHP 中,我们同样可以使用
date()函数将时间戳格式化成指定的日期字符串。该函数的原型如下:
string date(string $format [, int $timestamp = time() ]);
其中,
$format是日期格式字符串,用于指定日期字符串的格式,
$timestamp是可选参数,表示需要格式化的时间戳,默认是当前时间的时间戳。
例如,将时间戳格式化成年月日的字符串可以这样实现:
$dateString = date('Y-m-d', 1632777600); echo $dateString; // 输出 2021-09-28
四、PHP 中日期字符串和时间戳的相互转化
我们可以结合
strtotime()函数和
date()函数,实现日期字符串和时间戳的相互转换。例如,将日期字符串转换成时间戳可以这样实现:
$dateString = '2021-09-28'; $timestamp = strtotime($dateString); echo $timestamp; // 输出 1632777600
将时间戳转换成日期字符串可以这样实现:
$timestamp = 1632777600; $dateString = date('Y-m-d', $timestamp); echo $dateString; // 输出 2021-09-28