c语言编程笔录

首页 >   > 笔记大全

笔记大全

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

总结:

以上介绍了四种常用的方法将PHP时间转换为时间戳。可以根据具体的需求选择适合的方法来进行转换。strtotime()是最常用的方法,使用方便,能够解析多种日期时间格式。DateTime类提供了更多的操作方法,适用于复杂的日期时间处理场景。date_parse()和strtotime()与date()的组合使用可以实现更灵活的转换方式。根据具体的开发需求,选择合适的方法来将PHP时间转换为时间戳是非常重要的。