PHP date() 函数
                           
天天向上
发布: 2025-03-19 22:22:40

原创
36 人浏览过

PHP 的 date() 函数用于格式化日期和时间。它根据指定的格式返回当前的日期和时间,或者返回给定时间戳对应的日期和时间。date() 函数常用于网页中显示日期、时间、或生成基于当前时间的动态内容。


1️⃣ date() 函数语法

string date(string $format, int $timestamp = time())
  • $format:必需,指定返回的日期/时间的格式。可以使用 PHP 提供的各种字符来指定格式。
  • $timestamp:可选,指定时间戳。默认值为 time(),即当前时间。如果传入的是其他时间戳,则会根据该时间戳格式化日期。

2️⃣ 格式化字符

PHP date() 函数允许你通过不同的字符格式化日期和时间。以下是一些常用的格式字符:

  • Y:四位年份(例如:2025)
  • m:两位数字月份(01 到 12)
  • d:两位数字日期(01 到 31)
  • H:24小时制的小时(00 到 23)
  • i:分钟(00 到 59)
  • s:秒钟(00 到 59)
  • a:小写的 am 或 pm
  • A:大写的 AM 或 PM
  • l:星期几的完整名称(例如:Sunday)
  • D:星期几的简写(例如:Mon)
  • F:月份的完整名称(例如:January)
  • M:月份的简写(例如:Jan)

3️⃣ 常见用法示例

3.1 获取当前日期

// 获取当前日期
echo date("Y-m-d");  // 输出类似:2025-03-19

3.2 获取当前时间

// 获取当前时间
echo date("H:i:s");  // 输出类似:14:30:45

3.3 获取完整的日期和时间

// 获取完整的日期和时间
echo date("l, F j, Y h:i:s A");  // 输出类似:Wednesday, March 19, 2025 02:30:45 PM

3.4 使用时间戳格式化日期

// 设置时间戳
$timestamp = strtotime("2025-03-19 14:30:00");

// 使用给定时间戳格式化日期
echo date("Y-m-d H:i:s", $timestamp);  // 输出:2025-03-19 14:30:00

3.5 显示星期几

// 获取星期几
echo date("l");  // 输出类似:Wednesday

4️⃣ 示例:计算某个日期的未来日期

// 当前日期
echo date("Y-m-d") . "<br>";

// 5天后的日期
echo date("Y-m-d", strtotime("+5 days"));

输出:

2025-03-19
2025-03-24

5️⃣ 时间戳与 date() 函数

date() 函数的第二个参数是可选的,它允许你传递一个时间戳(例如,strtotime() 返回的结果)。这使得你可以格式化任何日期,而不仅仅是当前日期。

示例:使用 strtotime() 获取未来或过去的日期

// 获取昨天的日期
echo date("Y-m-d", strtotime("-1 day"));  // 输出:2025-03-18

示例:获取下一周的日期

// 获取下周的今天
echo date("Y-m-d", strtotime("+1 week"));  // 输出:2025-03-26

6️⃣ 使用 date() 获取特定时区的时间

如果你想获取某个特定时区的日期,可以使用 date_default_timezone_set() 函数来设置时区。

// 设置时区为 UTC
date_default_timezone_set("UTC");

// 获取当前 UTC 时间
echo date("Y-m-d H:i:s");  // 输出 UTC 时间

常见时区:

  • “America/New_York”:美国东部时间
  • “Europe/London”:伦敦时间
  • “Asia/Shanghai”:上海时间

7️⃣ 小结

date() 函数是 PHP 中用于格式化和获取日期、时间的一个非常强大的工具。它可以让你轻松地显示当前时间、格式化指定时间戳以及计算未来或过去的日期。在处理动态网页时,date() 函数也非常常用,尤其是在记录时间戳、创建日志、或者为用户显示时间等场景中。


8️⃣ 相关链接

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *