如何将日期时间字符串转换为 UTC


How to convert a datetime string to UTC?

如何像这样转换日期时间字符串:2012-09-03 22:00美国东部到 UTC 时区?

您应该在文档中查看DateTime对象及其相关函数。

如果输入日期已采用字符串格式,DateTime::createFromFormat()将帮助您创建对象可以使用的纪元类型的整数日期。在那之后,它只是getTimezone()setTimezone().

您可以使用

strtotime将时间戳从DB转换为纪元时间,并将它们包装在一个特殊的CSS类中:

<span class="timestamp"><?php echo strtotime('2012-09-03 22:00'); ?></span>

然后使用一些Javascript(jQuery示例),将unix纪元动态转换为locale datetime:

    $('.timestamp').each(function(){
        var seconds = $(this).html();
        var d = new Date(1000 * parseInt(seconds));
        var t = (d.getMonth()<9 ? '0':'') + parseInt(d.getMonth()+1) + '/';
        t+= (d.getDate()<10 ? '0' : '') + parseInt(d.getDate()) + '/';  
        t+= parseInt((d.getYear()<1000 ? d.getYear()+1900 : d.getYear())) + ' ';
        t+= (d.getHours()<10 ? '0' : '') + d.getHours() + ':' + (d.getMinutes()<10 ? '0' : '') + d.getMinutes();            
        $(this).html(t);
    });  

这将以 mm/dd/yyyy hh:ii 格式输出日期,相对于浏览器时区。