在PHP中,时间戳通常用于表示一个特定时间点。时间戳是从 Unix Epoch(1970年1月1日00:00:00 UTC)开始至指定时间点之间所经过的秒数,它是一种独立于时区的时间表示方式。
在某些情况下,我们需要将一个特定的日期时间转换成时间戳,以便进行比较或其他处理。在PHP中,可以通过多种方式实现这一目标。下面,我们将介绍一些常见的方法。
方法一:strtotime
PHP的strtotime函数可以将一个人类可读的日期时间字符串转换成一个时间戳。该函数的语法如下:
strtotime(string $time [, int $now = time() ])
其中,$time参数是需要转换的日期时间字符串,$now参数是可选的参考时间点,默认为当前时间。该函数返回值为一个时间戳。
例如,将2021年6月30日上午10点30分转换成时间戳:
<?php $time_str = "2021-06-30 10:30:00"; $timestamp = strtotime($time_str); echo $timestamp;
以上代码输出结果为:
1625038200
方法二:DateTime类
PHP的DateTime类是一个强大的日期时间操作工具,它提供了多种方法将日期时间转换成时间戳。以下是其中两种常用方法的示例:
DateTime类的format方法可以将日期时间对象格式化成指定的字符串,其中常见的格式化参数如下所示:
DateTime类的getTimestamp方法可以将日期时间对象转换成时间戳。将上述两个方法结合使用,可以将日期时间对象转换成时间戳。以下是示例代码:
<?php $date_str = "2021-06-30 10:30:00"; $date_obj = new DateTime($date_str); $timestamp = $date_obj->getTimestamp(); echo $timestamp;
以上代码输出结果为:
1625038200
DateTime类的setTime方法可以将日期时间对象设置为指定的时间点。将该方法和format方法结合使用,可以将日期时间对象转换成时间戳。以下是示例代码:
<?php $date_obj = new DateTime(); $date_obj->setTime(10, 30, 0); $timestamp = $date_obj->format('U'); echo $timestamp;
以上代码输出结果为:
1625038200
方法三:date函数
PHP的date函数可以将时间戳格式化为指定的日期时间字符串。该函数的语法如下:
date(string $format [, int $timestamp = time() ])
其中,$format参数是需要转换成的日期时间格式字符串,$timestamp参数是可选的时间戳,默认为当前时间。该函数返回值为格式化后的日期时间字符串。
将该函数和时间戳结合使用,可以将时间戳转换为日期时间字符串。例如,将时间戳1625038200转换成日期时间字符串:
<?php $timestamp = 1625038200; $date_str = date('Y-m-d H:i:s', $timestamp); echo $date_str;
以上代码输出结果为:
2021-06-30 10:30:00
总结
本文介绍了PHP将日期时间转换成时间戳的三种方法:strtotime函数、DateTime类和date函数。开发者可以根据具体需求选择适合的方法进行转换。
以上是聊聊php将时间转时间戳的多种方式的详细内容。更多信息请关注PHP中文网其他相关文章!