这篇文章将为大家详细讲解有关PHP根据区域设置格式化本地时间/日期,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
:
根据区域设置格式化本地时间/日期
在php中,可以通过使用 date() 函数和 setlocale() 函数根据区域设置格式化本地时间和日期。
1. 设置区域设置
在开始之前,需要设置区域设置以指示期望的格式:
setlocale(LC_TIME, "en_US.UTF-8"); // 为美国英语区域设置
这会将区域设置为美国英语,并使用 UTF-8 字符编码。
2. 格式化时间和日期
date() 函数用于格式化时间和日期。可以通过提供格式字符串来指定所需格式:
echo date("Y-m-d H:i:s"); // 输出: 2023-03-08 14:32:15
常用的格式说明符包括:
年: Y - 年份(4 位数)y - 年份(2 位数)
月: m - 月份(2 位数)M - 月份名称(3 个字母)
日: d - 日期(2 位数)D - 星期名称(3 个字母)
时: H - 小时(24 小时制)h - 小时(12 小时制)
分: i - 分钟
秒: s - 秒
3. 使用 strftime() 函数
strftime() 函数提供了额外的格式化选项,包括:
echo strftime("%B %d, %Y"); // 输出: March 08, 2023
strftime() 接受与 date() 相同的格式说明符,但提供了更多特定的格式化选项。
4. 自定义格式化
除了预定义的格式说明符外,还可以使用自定义格式化字符串创建特定的格式:
echo date("l, F js, Y g:i A"); // 输出: Wednesday, March 8th, 2023 2:32 PM
5. 时区转换
默认情况下,date() 和 strftime() 返回本地时间。要将时间转换为其他时区,可以使用 date_default_timezone_set() 函数:
date_default_timezone_set("Asia/Tokyo"); // 设置为东京时区
这会将输出时间转换为东京时区。
示例:
// 获取当前时间和日期并将其格式化为美国英语格式
setlocale(LC_TIME, "en_US.UTF-8");
echo date("Y-m-d H:i:s");
// 获取当前时间和日期并将其格式化为自定义格式
echo date("l, F jS, Y g:i A");
// 将时间转换为东京时区并将其格式化为日本格式
date_default_timezone_set("Asia/Tokyo");
setlocale(LC_TIME, "ja_JP.UTF-8");
echo strftime("%Y年%m月%d日 %H:%M");
输出:
2023-03-08 14:32:15
Wednesday, March 8th, 2023 2:32 PM
2023年3月8日 14:32