有没有办法在不更改默认时区的情况下获取特定时区? 我尝试使用此代码来获取时区,但是当我恢复其不同的输出时。
echo '<br />'.date('Y-m-d H:i:s') . '<br />';
date_default_timezone_set('Australia/Melbourne');
echo '<br />' . date('Y-m-d H:i:s');
date_default_timezone_set('America/Chicago');
echo '<br />' . date('Y-m-d H:i:s');
输出: 2013-08-15 03:24:48 2013-08-15 13:24:48 2013-08-14 22:24:48
作为输出,最后一行添加了一段时间。
答案 0 :(得分:2)
根据strtotime和datetime格式,您可以执行以下操作:
echo date("Y-m-d H:i:s",strtotime(date("H:i:s")." America/Chicago"));
甚至更好:
echo date("Y-m-d H:i:s",strtotime("now America/Chicago"));
答案 1 :(得分:0)
✓以下代码将输出:
<?php
echo "Australia/Melbourne time - ";
$now = new DateTime(null, new DateTimeZone('Australia/Melbourne'));
echo $now->format('Y-m-d H:i:s');
echo "<br>";
echo "America/New_York - ";
$now = new DateTime(null, new DateTimeZone('America/New_York'));
echo $now->format('Y-m-d H:i:s');
?>