[英]Can't get php DateTime timezone conversion to work. It doesn't change the time when I change the timezone
[英]Change timezone using DateTime doesn't change it
我正在嘗試根據時區更改時間。 我正在從數據庫獲取時間和時區,時間看起來像這樣2017-02-23 12:37:19
,時區是根據本手冊頁 。 我認為datetime的格式不正確。 但是問題是它不會將時間從數據庫時區轉換為我想要轉換的時區。
$time = new DateTime($user['date'], new DateTimeZone($user['timezone']));
$user['date'] = $time->format('Y-m-d H:i:s');
這是一種方法。
$time = new DateTime($user['date'], new DateTimeZone($dbTimeZone));
//use $dbTimeZone as the timezone from which you want to convert to your user timezone
$time->setTimezone(new DateTimeZone($user['timezone']));
$user['date'] = $time->format('Y-m-d H:i:s');
您可以設置時區,請嘗試以下操作:
$user['timezone'] = 'Europe/Berlin';
$user['date'] = '2017-02-24 10:24:08';
$dbTimeZone = 'America/Vancouver';
$date = new \DateTime($user['date'], new \DateTimeZone($user['timezone']));
$date->setTimezone(new \DateTimeZone($dbTimeZone));
$sConvertedDate = $date->format('Y-m-d H:i:s');
echo $sConvertedDate;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.