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

时间:2012-08-07 11:07:41

标签: php datetime

如何将这样的日期时间字符串转换为:2012-09-03 22:00 US Eastern到UTC时区?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

然后使用一些Javascript(jQuery示例),将unix时期动态转换为语言环境日期时间:

    $('.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格式输出日期,相对于浏览器时区。