-6

我如何转换这样的日期时间字符串:2012-09-03 22:00US Estern to UTC timezone?

4

2 回答 2

2

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

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

于 2012-08-07T11:12:05.823 回答
0

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

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

然后使用一点 Javascript(jQuery 示例),将 unix epoch 动态转换为 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这将以相对于浏览器时区的格式输出日期。

于 2012-08-07T11:20:44.667 回答