strtotime()
是 PHP 中的一个内置函数,用于将任何英文文本的日期时间描述解析为 Unix 时间戳。这个函数非常强大,支持多种日期和时间格式,甚至可以处理相对时间表达式(如 “+1 day” 或 “-2 weeks”)。
strtotime(string $time, int $now = null): int
$time
:必需。规定要解析的日期时间字符串。$now
(可选):必需。规定计算相对时间的基准时间戳。默认是当前时间。strtotime()
函数支持许多日期和时间格式,包括但不限于以下示例:
YYYY-MM-DD
:四位数年份,后面跟两位数月份,再跟两位数日期(如 “2022-08-15”)。DD-MM-YYYY
:两位数日期,后面跟两位数月份,再跟四位数年份(如 “15-08-2022”)。MM/DD/YYYY
:两位数月份,后面跟两位数日期,再跟四位数年份(如 “08/15/2022”)。DD/MM/YYYY
:两位数日期,后面跟两位数月份,再跟四位数年份(如 “15/08/2022”)。YYYYMMDD
:四位数年份,后面跟两位数月份,再跟两位数日期(如 “20220815”)。YYMMDD
:两位数年份,后面跟两位数月份,再跟两位数日期(如 “220815”)。此外,strtotime()
还支持一些特殊的相对时间表达式,例如:
+1 day
:表示当前时间往后加一天。-2 weeks
:表示当前时间往前减两周。next Friday
:表示下一个星期五。1 hour ago
:表示当前时间往前减一小时。// 解析固定格式的日期字符串
$timestamp = strtotime("2022-08-15");
echo $timestamp; // 输出:1659916800 (2022年8月15日的Unix时间戳)
// 解析带相对时间的字符串
$timestamp = strtotime("+1 day");
echo $timestamp; // 输出:当前时间戳加1天后的时间戳
// 解析特殊相对时间表达式
$timestamp = strtotime("next Friday");
echo $timestamp; // 输出:下一个星期五的Unix时间戳
总之,strtotime()
函数是一个非常实用的工具,可以帮助您在 PHP 中轻松地解析和处理日期和时间。