了解PHP中的strtotime()函数
在PHP中,strtotime()函数是一种非常强大的日期和时间处理函数。它将一个日期时间格式的字符串转换成一个Unix时间戳,可以用于将日期时间转换成各种格式的输出。
strtotime()函数的语法如下:
strtotime ( string $time [, int $now = time() ] ) : int|bool
其中,$time参数是必需的。它表示要转换的日期时间格式的字符串,可以包含日期、时间、时区信息等。$now参数是可选的,表示一个可选的基准时间,默认情况下是当前时间,如果设置了这个参数,则strtotime()将使用该参数作为基准时间来解析字符串。
strtotime()函数可以解析许多不同格式的日期时间字符串,如下所示:
- 标准日期:strtotime('2021-11-11');
- 标准时间:strtotime('17:25:35');
- 标准日期时间:strtotime('2021-11-11 17:25:35');
- 相对日期时间:strtotime('+2 days');
- 英文日期时间格式:strtotime('November 11, 2021');
- 相对时间:strtotime('now +2 hours');
可以看到,strtotime()函数支持多种日期时间字符串格式的解析。它还支持相对时间的解析,可以通过加上或减去一个时间间隔来计算未来或过去的时间。
除了上面的例子之外,strtotime()函数还支持许多其他的时间字符串格式,例如:
- Unix时间戳字符串:strtotime('1636661130');
- 时间描述字符串:strtotime('yesterday 10am');
- 相对时间描述字符串:strtotime('next monday');
- 日期范围字符串:strtotime('2021-11-11 - 2021-11-12');
需要注意的是,strtotime()函数的返回值是一个Unix时间戳,表示自1970年1月1日00:00:00 GMT以来的秒数。因此,通过将时间戳转换成日期时间格式,可以将时间戳转换成各种常见的日期时间字符串。
另外,strtotime()函数也支持对日期时间进行加减运算。例如,在给定的日期时间上增加一天,可以使用如下代码:
strtotime('+1 day', strtotime('2021-11-11'));
这个例子先将字符串2021-11-11转换成时间戳,然后在这个时间戳上加上一天的时间间隔,最后将结果转换成标准日期时间字符串格式。
总结一下,strtotime()函数是一个非常强大的日期和时间处理函数,它可以解析多种日期时间字符串格式,并将其转换成Unix时间戳。通过运用相关的参数和函数,可以方便地对日期时间进行加减和格式化输出。
