簡體   English   中英

使用DateTime更改時區不會更改它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM