在 PHP 中根据时区显示日期和时间
时区因地点而异。本文将教我们如何在 PHP 中根据时区显示时间和日期。
在 PHP 中使用 DateTime
类根据时区显示时间和日期
PHP 提供了一个强大的类 DateTime
来处理日期和时间操作。我们可以使用 DateTime
类设置时间和日期。
该类返回一个包含日期、时区类型和时区的实例。类的构造函数有两个参数。
第一个参数是日期/时间字符串。该参数应采用 PHP 定义的有效格式。
如果我们使用 timezone 参数作为第二个参数,我们也可以使用 now
字符串来获取当前日期/时间。第二个参数是时区。
我们可以使用 DateTimeZone
类的实例来获取特定的时区。我们可以将时区设置为 DateTimeZone
类的构造函数的参数。
只能使用 PHP 预定义的时区。使用带有这些参数的 DateTime
类将根据时区获取当前日期/时间。
例如,创建一个带有参数 $timezone
的函数 display_dateTime()
。在函数内部,创建一个 DateTime
类的对象。
使用 "now"
作为第一个参数,并创建一个 DateTimeZone()
类的实例作为第二个参数。提供 $timezone
变量作为 DateTimeZone()
类的参数。
接下来,调用 DateTime
类的 format()
方法并提供格式为 d-m-Y, H:i:s
。使用 echo
功能进行打印。
在函数之外,使用不同的时区多次调用函数。
使用时区 Asia/Kathmandu
、Asia/Tokyo
和 Europe/Madrid
作为函数参数。这些时区应该是一个字符串。
示例代码:
function display_dateTime($timezone){
$date = new DateTime("now", new DateTimeZone($timezone));
$timezone = explode('/',$timezone);
echo $timezone[1].": ".$date->format('d-m-Y, H:i:s')."<br>";
}
display_dateTime('Asia/Kathmandu');
display_dateTime('Asia/Tokyo');
display_dateTime('Europe/Madrid');
在上面的示例中,我们使用 explode()
函数修剪了城市的名称。我们使用斜线/
作为分隔符。
例如,"Asia/Kathmandu"
将被形成为 ["Asia, Kathmandu"]
作为一个数组。我们从数组中提取第一个索引以仅获取城市名称。
结果,我们可以根据时区看到不同的时间。
输出:
Kathmandu: 07-06-2022, 11:27:35
Tokyo: 07-06-2022, 14:42:35
Madrid: 07-06-2022, 07:42:35
这样,我们可以使用 PHP 的 DateTime
类根据时区设置时间和日期。
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn相关文章 - PHP Date
- 如何在 PHP 中添加天数到日期
- 如何使用 PHP 计算两个日期之间的差
- 如何在 PHP 中将 DateTime 转换为字符串
- 如何在 PHP 中将字符串转换为日期和日期时间
- 如何在 PHP 中将一种日期格式转换为另一种日期格式
- 如何在 PHP 中获取当前日期和时间