【问题标题】:Time format conversion时间格式转换
【发布时间】:2013-02-16 20:06:54
【问题描述】:

我需要将特定的日期格式转换为当地时间(欧洲/萨拉热窝),我有这种格式的时间 2013-02-17T15:00:00Z 我不太了解,这就是我不了解的原因不知道怎么转换成欧洲/萨拉热窝时间,谁知道可能已经是萨拉热窝时间了,我不知道……

好的,我可以解析它并删除 T 和 Z 并获得时间,但这些字母意味着什么,可能它们会影响结果时间...

结果时间例如2013-02-17 18:00:00,可能会因为字母T和Z可能是时间偏移而存在差异。

【问题讨论】:

  • 这是ISO8601 格式,它是日期/时间格式的几种不同标准之一。它正在慢慢成为网络上的事实标准——尽管还有其他标准,比如 RFC1123。你可以阅读这些here

标签: php date datetime time timezone


【解决方案1】:

使用日期时间。使用时区会更好:

$datetime = new DateTime('2013-02-17T15:00:00Z');
$datetime->setTimeZone(new DateTimeZone('Europe/Sarajevo'));
echo $datetime->format('c');

参考

See it in action

【讨论】:

    【解决方案2】:

    你可以像这样使用php日期函数

     $date = '2013-02-17T15:00:00Z';
     echo date('Y-m-d H:i:s',strtotime($date));
    

    Manual

    【讨论】:

      猜你喜欢
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多