如何在PHP中使用日期和时间函数?
在PHP中,有许多日期和时间函数,这些函数可以用于在网站上管理日期和时间。以下是一些常用的日期和时间函数及其用法:
## date()
日期函数 date() 用于格式化输出日期。date() 函数的语法如下:
date(format,timestamp)
其中 format 是必需的,它规定了日期的输出格式;而 timestamp 是可选的,它规定了要格式化的日期和时间。如果未提供 timestamp,则使用当前的日期和时间。
以下是一些常用的日期格式:
| 格式 | 描述 |
| ------ | ------------------------------------------------------------ |
| Y | 4 位数表示的年份 |
| y | 2 位数表示的年份 |
| m | 2 位数表示的月份 |
| n | 不含前导零的月份 |
| d | 2 位数表示的日期 |
| j | 不含前导零的日期 |
| H | 24 小时制的小时数(带前导零) |
| h | 12 小时制的小时数(带前导零) |
| i | 分钟数(带前导零) |
| s | 秒数(带前导零) |
| w | 星期几(0-6) |
| l | 星期几(英文完整的文本形式) |
| F | 月份(英文完整的文本形式) |
| M | 月份(英文缩写形式) |
| t | 指定月份的天数 |
| S | 每月天数后面的英文后缀,如 st、nd、rd 或 th。只用于日格式。 |
| z | 一年中的第几天(0-365) |
下面是一些例子:
echo date("Y/m/d"); // 输出当前日期,例如“2022/07/17”
echo date("H:i:s"); // 输出当前时间,例如“21:40:19”
echo date("l"); // 输出当前星期几,例如“Sunday”
## time()
函数 time() 返回当前 Unix 时间戳,即从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数。
下面是一些例子:
echo time(); // 输出当前 Unix 时间戳,例如“1658059389”
## mktime()
日期函数 mktime() 返回给定日期的 Unix 时间戳。mktime() 函数的语法如下:
mktime(hour,minute,second,month,day,year,is_dst)
其中 hour、minute、second、month、day 和 year 是必须的,它们指定了要创建时间戳的日期和时间。is_dst 是可选的,如果设置为非 0 值,则表示夏令时有效;如果设置为 0,则表示夏令时无效;如果设置为 -1,则表示系统尝试自动决定夏令时是否有效。
下面是一些例子:
echo mktime(0, 0, 0, 7, 17, 2022); // 输出给定日期的 Unix 时间戳,例如“1658016000”
## strtotime()
函数 strtotime() 将任何英文文本日期时间描述解析为 Unix 时间戳。strtotime() 函数的语法如下:
strtotime(time,now)
其中 time 是必需的,它指定要转换的日期和时间;而 now 是可选的,如果设置了它,则此函数会将 time 解释为 now 的参考时间。
下面是一些例子:
echo strtotime("today"); // 输出今天 0 点的 Unix 时间戳,例如“1658054400”
echo strtotime("next Saturday"); // 输出下个星期六 0 点的 Unix 时间戳,例如“1658716800”
## date_default_timezone_set()
函数 date_default_timezone_set() 设置脚本的默认时区。date_default_timezone_set() 函数的语法如下:
date_default_timezone_set(timezone_identifier)
其中 timezone_identifier 是必须的,它指定要设置的时区,可以是任何有效的时区标识符。
下面是一些例子:
date_default_timezone_set("Asia/Shanghai"); // 设置时区为上海时间
echo date("Y/m/d H:i:s"); // 输出当前日期和时间,例如“2022/07/17 21:54:32”
## strftime()
函数 strftime() 用于格式化本地时间和日期。strftime() 函数的语法如下:
strftime(format,timestamp)
其中 format 是必需的,它规定了日期和时间的输出格式;而 timestamp 是可选的,它规定了要格式化的日期和时间。如果未提供 timestamp,则使用当前的日期和时间。
下面是一些常用的日期格式:
| 格式 | 描述 |
| ---- | --------------------------- |
| %a | 缩写的星期几名称 |
| %A | 完整的星期几名称 |
| %b | 缩写的月份名称 |
| %B | 完整的月份名称 |
| %c | 日期和时间 |
| %C | 世纪 |
| %d | 月份的天数(01-31) |
| %D | 短日期格式(MM/DD/YY) |
| %e | 月份的天数(1-31) |
| %f | 微秒(000000-999999) |
| %F | 短日期格式(YYYY-MM-DD) |
| %g | ISO 格式的年份(两位数) |
| %G | ISO 格式的年份(四位数) |
| %h | 缩写的月份名称(与 %b 相同)|
| %H | 小时数(00-23) |
| %I | 小时数(01-12) |
| %j | 一年中的第几天(001-366) |
| %k | 小时数(0-23) |
| %l | 小时数(1-12) |
| %m | 月份(01-12) |
| %M | 分钟数(00-59) |
| %n | 换行符 |
| %p | AM 或 PM |
| %P | am 或 pm |
| %r | 时间(12 小时制) |
| %R | 时间(24 小时制) |
| %s | Unix 时间戳 |
| %S | 秒数(00-59) |
| %t | 制表符 |
| %T | 小时数、分钟数和秒数 |
| %u | 星期几(1-7) |
| %U | 一年中的第几周(00-53) |
| %V | ISO 格式的一年中的周数 |
| %w | 星期几(0-6) |
| %W | 一年中的第几周(00-53) |
| %x | 日期 |
| %X | 时间 |
| %y | 年份的最后两位数(00-99) |
| %Y | 年份(四位数) |
| %z | 时区偏移量 |
| %Z | 时区名称或缩写 |
| %% | 字符 % |
下面是一些例子:
echo strftime("%Y-%m-%d %H:%M:%S", time()); // 输出当前日期和时间,例如“2022-07-17 22:14:49”
以上是一些常见的 PHP 日期和时间函数。通过掌握这些函数,可以轻松地在网站上管理日期和时间。
