strtotime()
是 PHP 中的一个非常有用的函数,它可以将任何英文文本日期时间描述解析为 Unix 时间戳。如果给定的时间戳是一个整数,strtotime()
会将其视为自 1970-01-01 00:00:00 UTC 以来的秒数,并返回相应的 Unix 时间戳。
下面是一些使用 strtotime()
的示例:
- 将英文日期时间字符串转换为 Unix 时间戳:
$timestamp = strtotime("2022-01-01 12:00:00"); echo $timestamp; // 输出:1641027600
- 将 Unix 时间戳转换为英文日期时间字符串:
$date = date("Y-m-d H:i:s", 1641027600); echo $date; // 输出:2022-01-01 12:00:00
- 将相对时间描述(如 “2 days ago” 或 “+1 week”)转换为 Unix 时间戳:
$timestamp = strtotime("2 days ago"); echo $timestamp; // 输出:1641004400(这是 2022-01-01 00:00:00 UTC 之前的两天的秒数) $timestamp = strtotime("+1 week"); echo $timestamp; // 输出:1641679200(这是 2022-01-08 00:00:00 UTC 之后的一周的秒数)
- 将特定格式的日期时间字符串转换为 Unix 时间戳:
$timestamp = strtotime("15 Jan 2022 09:30:00"); echo $timestamp; // 输出:1641448200
注意:strtotime()
函数在处理日期和时间时,会考虑时区和夏令时等因素。如果需要指定时区,可以使用 date_default_timezone_set()
函数设置默认时区。