如何像这样转换日期时间字符串: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
格式输出日期,相对于浏览器时区。