欢迎访问宙启技术站
智能推送

如何使用PHP的strtotime函数将日期时间字符串转换为Unix时间戳

发布时间:2023-06-25 00:16:42

在PHP中,我们可以使用strtotime()函数将日期时间字符串转换为Unix时间戳。Unix时间戳是指自1970年1月1日00:00:00 UTC以来的秒数。本文将介绍如何使用strtotime()函数将日期时间字符串转换为Unix时间戳。

一、strtotime()函数的基本用法

strtotime()函数是一个PHP内置的日期和时间函数,它的作用是将一个格式良好的日期时间字符串转换为Unix时间戳。strtotime()函数的基本用法如下:

strtotime(string $time, [int $now = time()]): int|false

其中,参数$time是一个日期时间字符串,可以包含日期、时间、时区等信息,$now是可选的Unix时间戳,表示当前时间。函数返回转换后的Unix时间戳,如果转换失败则返回false。

例如:

echo strtotime('2021-06-01 06:00:00'); // 输出:1622505600

上述代码将字符串“2021-06-01 06:00:00”转换为Unix时间戳1622505600。

二、 strtotime()函数的参数格式

在使用strtotime()函数时,$time参数的格式非常重要,它必须是一个有效的日期时间格式字符串。常用的日期时间格式有以下几种:

1. YYYY-MM-DD HH:MM:SS(例如:“2022-06-01 18:30:00”)

2. MM/DD/YYYY HH:MM:SS(例如:“06/01/2022 18:30:00”)

3. DD-MM-YYYY HH:MM:SS(例如:“01-06-2022 18:30:00”)

4. YYYY/MM/DD HH:MM:SS(例如:“2022/06/01 18:30:00”)

5. YYYY年MM月DD日 HH时MM分SS秒(例如:“2022年06月01日 18时30分00秒”)

在指定日期时间字符串时,常用的格式为“YYYY-MM-DD HH:MM:SS”,这也是PHP中默认的日期时间格式。下面我们来看一个实例:

$date_string = '2022-12-01 12:00:00';

$unix_timestamp = strtotime($date_string);

echo "Unix时间戳为:$unix_timestamp";

上述代码将字符串“2022-12-01 12:00:00”转换为Unix时间戳,输出结果为:

Unix时间戳为:1662048000

三、strtotime()函数的常见用法

1. 获取当前时间的Unix时间戳

如果我们不指定时间字符串,只是想获取当前时间的Unix时间戳,可以使用下面的代码:

echo time(); // 输出当前时间的Unix时间戳

time()函数的作用是返回当前时间的Unix时间戳。

2. 获取指定时间的Unix时间戳

我们还可以使用strtotime()函数来获取一个指定时间的Unix时间戳。例如:

echo strtotime("2019-01-01 00:00:00");

上述代码将字符串“2019-01-01 00:00:00”转换为Unix时间戳。

3. 在指定时间基础上增加时间间隔

如果我们需要在某个时间基础上增加一定的时间间隔,可以使用strtotime()函数。例如:

echo strtotime('+1 day'); // 增加1天

上述代码将当前时间增加1天,并返回增加后的Unix时间戳。

4. 转换带时区信息的时间字符串

有些时间字符串可能包含时区信息,例如:

$date_string = '2022-06-01T12:00:00+08:00';

如果我们直接将上述时间字符串传递给strtotime()函数,可能会出现转换失败的情况。此时,我们可以先去掉时区信息,再将字符串转换为Unix时间戳。例如:

$date_string_without_timezone = substr($date_string, 0, strpos($date_string, '+'));

$unix_timestamp = strtotime($date_string_without_timezone);

echo "Unix时间戳为:$unix_timestamp";

上述代码先使用substr()函数去掉时区信息,再将字符串转换为Unix时间戳。

总之,通过strtotime()函数,我们可以将日期时间字符串转换为Unix时间戳,进行各种有用的计算和操作。掌握strtotime()函数的使用方法,对于开发PHP程序非常有帮助。