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

使用PHP的strtotime()函数进行时间日期转换

发布时间:2023-06-18 09:08:01

在PHP中,strtotime()函数是一种非常有用的时间日期转换工具。它可以把各种格式的日期和时间字符串转换成 Unix 时间戳,也可以把 Unix 时间戳转换成日期和时间字符串。使用 strtotime() 可以轻松地进行时间的加减、比较和格式化等操作,进而实现时间日期处理的功能。

一、strtotime() 函数的用法

strtotime() 函数的基本用法如下:

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

表示把时间字符串 $time 转换成 Unix 时间戳,并返回该时间的 Unix 时间戳(以秒为单位)。$time 可以是任何格式的日期和时间字符串。$now 参数是可选的,表示当前时间的 Unix 时间戳。如果不传入 $now 参数,则默认为当前系统时间。

strtotime() 函数的参数也可以是相对时间和日期字符串,例如:

1. "+1 day":表示明天的日期

2. "-2 weeks":表示两周前的日期

3. "2019-12-31":表示指定日期的时间戳

4. "10:30:00":表示指定时间的时间戳

5. "last Monday":表示上周一的日期

6. "next Sunday 10:00:00":表示下周日的 10:00:00 时间戳

strtotime() 函数支持的日期和时间格式非常多,可以满足各种不同的需求。下面的表格列出了常见的日期和时间格式:

| 格式 | 描述 |

| -------------- | ------------------------ |

| Y-m-d | 年-月-日 |

| H:i:s | 时:分:秒 |

| Y-m-d H:i:s | 年-月-日 时:分:秒 |

| 2019-12-31 | 指定日期的时间戳 |

| 10:30:00 | 指定时间的时间戳 |

| last Monday | 上周一的日期 |

| next Sunday | 下周日的日期 |

| +1 day | 当前时间增加一天 |

| -2 weeks | 当前时间减少两周 |

| next year | 下一年的日期 |

| first day of | 本月第一天的日期 |

| last day of | 本月最后一天的日期 |

| first day of -1 month | 上个月第一天的日期 |

| last day of -1 month | 上个月最后一天的日期 |

二、strtotime() 函数的应用

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

使用 strtotime() 函数可以获取当前时间的时间戳,示例代码如下:

echo strtotime("now"); // 输出类似:"1607087699"

2. 获取指定日期的时间戳

使用 strtotime() 函数可以获取指定日期的时间戳,示例代码如下:

echo strtotime("2020-12-31"); // 输出类似:"1609372800"

3. 获取指定时间的时间戳

使用 strtotime() 函数可以获取指定时间的时间戳,示例代码如下:

echo strtotime("10:30:00"); // 输出类似:"1607146200"

4. 获取上周一的日期

使用 strtotime() 函数可以获取上周一的日期,示例代码如下:

echo date("Y-m-d", strtotime("last Monday")); // 输出类似:"2020-11-30"

5. 获取下周日的时间戳

使用 strtotime() 函数可以获取下周日的时间戳,示例代码如下:

echo strtotime("next Sunday"); // 输出类似:"1607952000"

6. 获取当前时间增加一天后的时间戳

使用 strtotime() 函数可以获取当前时间增加一天后的时间戳,示例代码如下:

echo strtotime("+1 day"); // 输出类似:"1607176469"

7. 获取当前时间减少两周后的时间戳

使用 strtotime() 函数可以获取当前时间减少两周后的时间戳,示例代码如下:

echo strtotime("-2 weeks"); // 输出类似:"1605454869"

8. 获取下一年的日期

使用 strtotime() 函数可以获取下一年的日期,示例代码如下:

echo date("Y-m-d", strtotime("next year")); // 输出类似:"2021-12-31"

9. 获取本月第一天的日期

使用 strtotime() 函数可以获取本月第一天的日期,示例代码如下:

echo date("Y-m-d", strtotime("first day of")); // 输出类似:"2020-12-01"

10. 获取本月最后一天的日期

使用 strtotime() 函数可以获取本月最后一天的日期,示例代码如下:

echo date("Y-m-d", strtotime("last day of")); // 输出类似:"2020-12-31"

11. 获取上个月第一天的日期

使用 strtotime() 函数可以获取上个月第一天的日期,示例代码如下:

echo date("Y-m-d", strtotime("first day of -1 month")); // 输出类似:"2020-11-01"

12. 获取上个月最后一天的日期

使用 strtotime() 函数可以获取上个月最后一天的日期,示例代码如下:

echo date("Y-m-d", strtotime("last day of -1 month")); // 输出类似:"2020-11-30"

三、小结

使用 PHP 的 strtotime() 函数可以方便地进行时间和日期的转换和计算,支持各种不同格式的时间字符串,使得时间日期处理变得更加简单和便捷。在使用时,需要注意不同的时间格式和参数的不同含义,以免出现不必要的错误。