c语言编程笔录

首页 >   > 笔记大全

笔记大全

常见的PHP时间格式转为时间戳的方法有哪些

更新时间:2023-11-21

前言:

PHP中处理时间的函数非常丰富,可以用来进行时间格式的转换和处理。有时候我们需要将常见的时间格式转化为时间戳,以便于进行时间的计算和比较。本文将介绍几种常见的PHP时间格式转为时间戳的方法。

方法一:strtotime()

strtotime() 函数可以将人类可读的时间格式转化为时间戳。它接受一个表示时间的字符串,然后返回与 Unix 纪元(January 1 1970 00:00:00 GMT)的秒数。下面是一个使用 strtotime() 函数将常见的时间格式转为时间戳的示例:

$date = "2022-06-30 10:30:00";
$timestamp = strtotime($date);
echo $timestamp;

运行上述代码,将输出 1677660600,表示时间 "2022-06-30 10:30:00" 对应的时间戳。strtotime() 函数还支持一系列其他时间格式,如:YYYY-MM-DD、YYYY/MM/DD、YYYY.MM.DD、YYYY-MM-DD HH:II:SS 等等。但也注意,strtotime() 函数对于一些特殊格式的时间可能无法正确识别。

方法二:DateTime类

PHP的DateTime类可以方便地进行时间的转换和计算。通过DateTime类的createFromFormat方法,可以根据指定的时间格式创建一个DateTime对象,然后利用getTimestamp方法获取该对象对应的时间戳,示例如下:

$dateString = "2022-06-30 10:30:00";
$format = "Y-m-d H:i:s";
$dateTime = DateTime::createFromFormat($format, $dateString);
$timestamp = $dateTime->getTimestamp();
echo $timestamp;

上述代码中的$dateString是时间字符串,$format是时间的格式,"Y-m-d H:i:s"表示年-月-日 时:分:秒。通过createFromFormat方法创建一个DateTime对象,然后调用getTimestamp方法获取时间戳。运行上述代码,将输出 1677660600。

方法三:date_parse()

PHP的date_parse()函数可以将一个表示时间的字符串解析为关联数组。这个数组中包含了年、月、日、时、分、秒等时间部分的数值。我们可以根据这些数值来构造一个对应的时间戳。下面是一个使用date_parse()函数将时间字符串解析为时间戳的示例代码:

$dateString = "2022-06-30 10:30:00";
$dateArray = date_parse($dateString);
$timestamp = mktime($dateArray['hour'], $dateArray['minute'], $dateArray['second'], $dateArray['month'], $dateArray['day'], $dateArray['year']);
echo $timestamp;

上述代码中,date_parse函数将时间字符串解析为一个关联数组$dateArray,然后使用mktime函数根据关联数组中的年、月、日、时、分、秒构造一个时间戳。运行上述代码,将输出 1677660600。

总结:

本文介绍了三种常见的方法来将PHP时间格式转为时间戳。使用strtotime()函数可以方便地将常见的时间格式转化为时间戳,但对于一些特殊格式的时间可能无法正确解析。使用DateTime类可以更好地进行时间的转换和计算,并且支持自定义的时间格式。使用date_parse()函数可以将时间字符串解析为关联数组,然后利用mktime函数构造时间戳。具体选择哪种方法取决于时间字符串的格式以及具体的需求。