php - 在 PHP 中将时间和日期从一个时区转换为另一个时区

标签 php timezone

基本上我需要的是一个脚本,当提供时间和时区时,它可以返回另一个时区的时间。

我的主要问题是:

  • 从何处获取与 GMT 的时间偏移 - 是否有可用的公共(public)数据库?
  • 如何同时考虑夏令时 (DST) 差异。
  • 如何将其全部封装在 PHP 类中 - 或者是否已经有这样的类可用?

最佳答案

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

上面的例子会输出:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

发现于 DateTime Manual on php.net

编辑: 正如 Pekka 所说:DateTime 类从 5.2 开始存在,您首先必须找出哪些方法是真正实现的,哪些只从 5.3 开始存在。

关于php - 在 PHP 中将时间和日期从一个时区转换为另一个时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905193/

相关文章:

php - Laravel 验证 : check why validator failed

php - 为什么我收到 fatal error : Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 60

php - 为什么 PHP(脚本)比 CGI(编译)提供更多的请求?

php - 在每个查询的基础上重置 mysqli 缓存

javascript - Intl.DateTimeFormat 给出 1847 年或以下年份的奇怪结果

php - Magento - 后端 - 尝试查看订单时出错

javascript日期时区问题

php - 在 PHP 中将 UTC 日期转换为本地时间

c# - 日期时间本地化。任何标准/最佳实践

mysql - 存储和比较多个时区的时间