PHP 时区名称到偏移量

发布于 2024-10-13 03:18:12 字数 119 浏览 3 评论 0原文

我将如何将时区名称(“亚洲/迪拜”、“欧洲/安道尔”等)转换为以小时(甚至秒为单位,因为我可以从那里转换)的 GMT 偏移量。

大多数人要求相反,但我需要从 GeoNames 提供的时区名称中获取时区偏移量。

How would I go about converting a timezone name ("Asia/Dubai", "Europe/Andorra", etc) to a GMT offset in hours (or even seconds, since I can convert it from there).

Most people ask for the reverse, but I need to get a timezone offset from the timezone name provided by GeoNames.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

做个少女永远怀春 2024-10-20 03:18:12

你可以使用以下内容

<?php

$timezone = 'Pacific/Nauru';
$time = new \DateTime('now', new DateTimeZone($timezone));
$timezoneOffset = $time->format('P');
?>

you can use the following

<?php

$timezone = 'Pacific/Nauru';
$time = new \DateTime('now', new DateTimeZone($timezone));
$timezoneOffset = $time->format('P');
?>
羞稚 2024-10-20 03:18:12

另一种选择是使用可用的 DateTimeZone::getOffset() 方法,返回指定日期/时间时区的偏移量(以秒为单位)。

$timezone = new DateTimeZone("Europe/Andorra");
$offset   = $timezone->getOffset(new DateTime);

Another option would be to use the available DateTimeZone::getOffset() method, which returns the offset in seconds for the time zone at the specified date/time.

$timezone = new DateTimeZone("Europe/Andorra");
$offset   = $timezone->getOffset(new DateTime);
开始看清了 2024-10-20 03:18:12

我喜欢使用 PHP Carbon

$offset = Carbon::now('Europe/Andorra')->offsetHours;

I like using PHP Carbon:

$offset = Carbon::now('Europe/Andorra')->offsetHours;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文