使用PHP的strtotime()函数将日期时间字符串转换为时间戳?
在 PHP 编程中,经常需要将日期时间字符串转换成时间戳进行计算。时间戳是指从某个固定时间点(比如1970年1月1日)开始计算的秒数,它是表示时间的一种常见方式。
PHP 提供了 strtotime() 函数,可以将符合特定格式的日期时间字符串转换成时间戳。本文将介绍 strtotime() 函数的使用方法,包括什么是日期时间字符串、strtotime() 函数的参数、如何格式化日期时间字符串等内容。
1. 什么是日期时间字符串?
在 PHP 中,日期时间字符串是指用特定格式表示的日期和时间。常见的日期时间字符串格式如下:
- 年-月-日 时:分:秒 (如:2021-08-02 14:20:30)
- 年/月/日 时:分:秒 (如:2021/08/02 14:20:30)
- 月/日/年 时:分:秒 (如:08/02/2021 14:20:30)
- day month year hours:minutes:seconds timezone (如:Mon Aug 02 2021 14:20:30 GMT+0800)
以上日期时间字符串格式中,年、月、日、时、分和秒均为必须包含的元素。此外,日期时间字符串还可以包括时区、毫秒等其他信息。要想将日期时间字符串转换成时间戳,需要按照特定格式提供给 strtotime() 函数。
2. strtotime() 函数的参数
PHP strtotime() 函数的参数是一个日期时间字符串,返回值是该字符串对应的时间戳。strtotime() 函数的语法如下:
strtotime(string $time, int $now = time())
其中,$time 是一个必须的参数,表示待转换的日期时间字符串。$now 是一个可选的参数,表示当前时刻的时间戳,默认值为 time() 函数的返回值。
strtotime() 函数可以接受多种日期时间字符串格式,具体格式请参考PHP手册。
3. 如何格式化日期时间字符串?
PHP中日期格式化函数非常灵活,可以满足各种需求。
在 PHP 中,可以使用 date() 函数对日期格式化。date() 函数的参数是两个, 个参数是日期格式,第二个参数是时间戳(可选),默认为当前时刻的时间戳。
下面是一些常见的日期格式符号:
- Y:四位数字的年份(如:2021)
- y:两位数字的年份(如:21)
- n:月份,无前导零(1~12)
- m:月份,有前导零(01~12)
- j:日期,无前导零(1~31)
- d:日期,有前导零(01~31)
- g:12小时制的小时数,不带前导零(1~12)
- h:12小时制的小时数,有前导零(01~12)
- G:24小时制的小时数,不带前导零(0~23)
- H:24小时制的小时数,有前导零(00~23)
- i:分钟数,有前导零(00~59)
- s:秒数,有前导零(00~59)
- A:大写的上午或下午(AM/PM)
- a:小写的上午或下午(am/pm)
例如,要将时间戳转换成格式为“Y-m-d H:i:s”的日期时间字符串,可以使用如下代码:
$time = time();
$date_str = date('Y-m-d H:i:s', $time);
如果要将日期时间字符串转换成时间戳,可以使用如下代码:
$date_str = '2021-08-02 14:20:30';
$time = strtotime($date_str);
4. 实例演示
下面是一些用 strtotime() 函数将日期时间字符串转换为时间戳的例子:
(1)将“2021-08-02 14:20:30”转换成时间戳
$date_str = '2021-08-02 14:20:30';
$time = strtotime($date_str);
echo $time; // 输出 "1627892430"
(2)将“August 2 2021 14:20:30 GMT+0800”转换成时间戳
$date_str = 'August 2 2021 14:20:30 GMT+0800';
$time = strtotime($date_str);
echo $time; // 输出 "1627892430"
(3)将“2021-01-01 00:00:00”转换成时间戳
$date_str = '2021-01-01 00:00:00';
$time = strtotime($date_str);
echo $time; // 输出 "1609459200"
综上所述,对于 PHP 程序员来说,掌握将日期时间字符串转换成时间戳的技能是基础中的基础,这也是开发 Web 应用程序的必备技能之一,希望以上内容可以帮助您更好地理解和使用 PHP 中的 strtotime() 函数。
