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

如何在PHP中使用日期和时间函数?

发布时间:2023-06-11 12:12:36

在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 日期和时间函数。通过掌握这些函数,可以轻松地在网站上管理日期和时间。