我以这种格式提供了日期/时间:2012-10-14T06:00
我可以像这样刷新数据:6:00 AM使用
<?php
function formatDate($date, $format){
$output = date($format, strtotime($date));
return $output;
}
?>
<?php echo formatDate('2012-10-14T06:00', 'g:ia'); ?>
输出:6:00 AM
这很棒,但是如何使用
调整偏移量date_default_timezone_set('America/LOS_ANGELES');
或
date_default_timezone_set('欧洲/阿姆斯特丹);
设置给用户时区(无论他们选择什么) - 应该在原始时区数据和提供的用户('欧洲/阿姆斯特丹)
之间抵消时间。因此,如果他们将默认时区设置为另一个国家,那么时间将读取8:00 am或4:00 am,具体取决于该时区的偏移。
基本时区将始终在xxxx-xx-xxtxx中:xx格式。
任何帮助都将不胜感激
使用DateTime对象。手动提取偏移不会考虑白天的节省和其他怪癖。
// use the the appropriate timezone for your stamp
$timestamp = DateTime::createFromFormat('Y-m-dTH:i', '2012-10-14T06:00', new DateTimeZone('UTC'));
// set it to whatever you want to convert it
$timestamp->setTimeZone(new DateTimeZone('Europe/Amsterdam'));
print $timestamp->format('Y-m-d H:i:s');