【问题标题】:Convert input hour from source timezone to UTC将输入小时从源时区转换为 UTC
【发布时间】:2013-07-03 11:59:22
【问题描述】:

我需要将输入时间(12 小时格式)从源时区转换为 UTC。

如果我给出上午 10 点,亚洲/加尔各答,我需要根据 UTC 的偏移量将其转换为下午 3:30。

【问题讨论】:

  • 使用DateTime 对象,并特别注意setTimezone() 方法....如果您阅读该页面,甚至还有示例
  • 无法获得准确的解决方案。我需要,所有示例都在转换当前时间戳,或者没有 12 小时格式的示例
  • 看DateTime对象构造函数,或者createFromFormat()创建一个DateTime对象:喂勺时间$dt = new DateTime('10 AM', new DateTimeZone('Asia/Kolkata')); $dt->setTimezone(new DateTimeZone('UTC')); echo $dt->format('H:i:s);
  • 没有比这更容易的了,@Mark Ba​​ker,是的,在这种情况下,我需要用勺子喂食。还是谢谢

标签: php datetime


【解决方案1】:

试试这个,它对我很有效..

$timezone = 'Asia/Kolkata';
echo $stored_time = date('Y-m-d H:i:s');
date_default_timezone_set($timezone);
$timestamp = strtotime($stored_time);
$local_time = $timestamp + date('Z');
$local_date = date('Y-m-d H:i:s', $local_time);
echo $local_date;

我已经回答了这个问题:PHP adjust time zone for date

【讨论】:

    【解决方案2】:

    使用 gmdate() 函数得到你想要的结果

    http://php.net/manual/en/function.gmdate.php

    【讨论】:

      【解决方案3】:
      $the_date = strtotime("2010-01-19 00:00:00");
      echo date_default_timezone_get();
      echo date("Y-d-mTG:i:sz",$the_date);
      echo date_default_timezone_set("UTC");
      echo date("Y-d-mTG:i:sz", $the_date);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-16
        • 2020-03-21
        • 2016-07-06
        • 2013-06-30
        • 1970-01-01
        相关资源
        最近更新 更多