【问题标题】:PHP - Want to convert MySQL Timestamp time to UTC +6 timePHP - 想要将 MySQL 时间戳时间转换为 UTC +6 时间
【发布时间】:2014-08-26 15:45:46
【问题描述】:

我有一个旧的 MySQL 数据库。这是一个时间列。 我看到这里有一些时间值,比如:

2013-06-03 21:33:15

所以,我想在我的 PHP 脚本中将这个时间转换为我的本地时间 UTC +6。 怎么可能? 我可以进行 mysql 查询以获取从数据库到我的 PHP 变量 $TimeFromMySQL 的时间 刚才我想显示如下:

11:32:44 PM 05 July 2014

谢谢

【问题讨论】:

  • 你知道原始时间戳的时区吗?无论如何都想不到您可以在不知情的情况下将其转换为您的当地时间。
  • 是的,我知道,当我运行 phpinfo();在服务器中.. 我看到“默认时区:美国/芝加哥”
  • @islanddave 非常感谢!
  • 为什么不想把“包袱”放在 MySQL 身上?

标签: php mysql time unix-timestamp


【解决方案1】:

如果您想在 MySQL 中执行此操作,请参阅上面的 VMai 评论。对于 PHP:

$inDate = '2013-06-03 21:33:15';
$inDate_tz = 'America/Chicago';

$original_date = new DateTime($inDate, new DateTimeZone($inDate_tz) );
$original_date->setTimeZone(new DateTimeZone('Asia/Dhaka'));
$new_date =  $original_date->format('H:i:s d F Y');

echo $new_date;

//outputs 08:33:15 04 June 2013

【讨论】:

    【解决方案2】:

    我在这里的回答可能为时已晚,但对于在我解决此解决方案之前遇到与我相同情况的人来说仍然可能会有所帮助。

    将日期时间转换为UTC,即获取正确的位置时间和日期。

    我想出了这个:

    // Get time Zone.
    $whereTimeNow = date_default_timezone_get();
    // Set the time zone.
    date_default_timezone_set($whereTimeNow);
    
    $dateTime = date('d-m-Y H:i');
    $dateTimeConvert = new DateTime($dateTime, new DateTimeZone($whereTimeNow) );
    $dateTimeConvert->setTimeZone(new DateTimeZone('UTC'));
    $dateTimeNow =  $dateTimeConvert->format('Y-m-d H:i:s');
    echo $dateTimeNow;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2017-04-27
      • 2019-03-09
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多