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

PHP日期时间函数:strtotime函数用法详解

发布时间:2023-10-20 20:10:35

strtotime函数是PHP中用来将字符串转换为Unix时间戳的函数,这个时间戳表示从1970年1月1日起到指定日期(或时间)所经过的秒数。strtotime函数可以解析的日期和时间格式非常广泛,下面是该函数的用法详解。

1. 基本用法:strtotime函数的基本用法非常简单,只需要将待转换的日期(或时间)字符串作为参数传递给该函数即可。比如:

$timestamp = strtotime('2021-01-01');

上述代码将字符串'2021-01-01'转换为Unix时间戳,并将结果赋值给$timestamp变量。

2. 相对时间:strtotime函数还可以解析相对的时间字符串。相对时间可以是以下形式之一:

- 明天:+1 day

- 后天:+2 day

- 后后天:+3 day

- 上个月:-1 month

- 下个月:+1 month

- 上一年:-1 year

- 下一年:+1 year

- 具体时间(24小时制):10:30

- 具体时间(12小时制):10:30am10:30pm

比如:

$timestamp = strtotime('+1 day');

上述代码将得到明天的时间戳。

3. 相对日期:除了相对时间,strtotime函数还可以解析相对日期。相对日期可以是以下形式之一:

- 今年:this year

- 明年:next year

- 去年:last year

- 本月:this month

- 下个月:next month

- 上个月:last month

- 上周:last week

- 本周:this week

比如:

$timestamp = strtotime('last week');

上述代码将得到上周的时间戳。

4. 其他字符串格式:strtotime函数还可以解析其他常见的日期和时间格式,比如:

- MM/DD/YYYY: 01/01/2022

- DD-MM-YYYY: 01-01-2022

- YYYY/MM/DD: 2022/01/01

- MM/DD/YYYY HH:MM:SS: 01/01/2022 10:30:00

- YYYY-MM-DD HH:MM:SS: 2022-01-01 10:30:00

比如:

$timestamp = strtotime('2022/01/01 10:30:00');

上述代码将得到指定日期和时间的时间戳。

总结:strtotime函数可以解析多种日期和时间格式,包括相对时间和相对日期,非常灵活方便。但需要注意的是,strtotime函数对于年份的解析范围是从1901年到2038年,超出这个范围的日期将无法正确解析。另外,timezone的设置也会对strtotime函数的解析结果产生影响,因此在使用strtotime函数时 将timezone设置为合适的值。