php时间转为时间戳的方法有哪些
更新时间:2023-08-05前言:
在开发中,经常会遇到需要将日期时间转换为时间戳的需求。PHP提供了多种方法来实现这一功能,可以根据具体的需求选择合适的方法。本文将介绍四种常用的方法来将PHP时间转换为时间戳。方法一:strtotime()
PHP提供了一个内置函数strtotime(),可以将人类可读的日期时间字符串转换为时间戳。该函数使用了自然语言解析算法,能够解析各种常见的日期时间格式,并将其转换为UNIX时间戳。示例代码:
$datetime_str = '2022-01-01 12:30:00'; $timestamp = strtotime($datetime_str); echo $timestamp;
示例输出:
1641007800
方法二:DateTime类
PHP的DateTime类是一个内置类,可以用于日期和时间的操作。该类提供了format()方法,可以将DateTime对象格式化为特定的字符串。可以使用createFromFormat()方法将日期时间字符串转换为DateTime对象,再通过format()方法将其转换为时间戳。示例代码:
$datetime_str = '2022-01-01 12:30:00'; $datetime_obj = DateTime::createFromFormat('Y-m-d H:i:s', $datetime_str); $timestamp = $datetime_obj->format('U'); echo $timestamp;
示例输出:
1641007800
方法三:date_parse()
PHP提供了一个内置函数date_parse(),可以将日期时间字符串解析成一个关联数组,包含了年、月、日、时、分、秒等信息。可以通过数组中的'year'、'month'、'day'、'hour'、'minute'和'second'等键来获取相应的数值,再使用mktime()函数将其转换为时间戳。示例代码:
$datetime_str = '2022-01-01 12:30:00'; $datetime_arr = date_parse($datetime_str); $timestamp = mktime($datetime_arr['hour'], $datetime_arr['minute'], $datetime_arr['second'], $datetime_arr['month'], $datetime_arr['day'], $datetime_arr['year']); echo $timestamp;
示例输出:
1641007800
方法四:strtotime()与date()
可以结合使用strtotime()和date()两个函数来实现将PHP时间转换为时间戳的功能。首先使用strtotime()将日期时间字符串转换为时间戳,再使用date()函数将时间戳格式化为所需的日期时间字符串。示例代码:
$datetime_str = '2022-01-01 12:30:00'; $timestamp = strtotime($datetime_str); $formatted_datetime = date('Y-m-d H:i:s', $timestamp); echo $formatted_datetime;
示例输出:
2022-01-01 12:30:00