當未提供日期時,如何將時區(如14:00:00+02:00
)提供的時間更改爲當地時間(結果爲16:00:00
)。 我已經用DateTime
類試過了。但是,因爲我只是搬運時間,沒有日期,它並不總是提供正確的結果:使用時區格式化時區到當地時間PHP
$time = '14:00:00+02:00';
$datetime = new DateTime($date);
$result = $datetime->format("H:i:s");
當未提供日期時,如何將時區(如14:00:00+02:00
)提供的時間更改爲當地時間(結果爲16:00:00
)。 我已經用DateTime
類試過了。但是,因爲我只是搬運時間,沒有日期,它並不總是提供正確的結果:使用時區格式化時區到當地時間PHP
$time = '14:00:00+02:00';
$datetime = new DateTime($date);
$result = $datetime->format("H:i:s");
您可以使用setTimezone()函數
$time = '14:00:00+02:00';
$datetime = new DateTime($time);
$result = $datetime->format("H:i:s");
echo $result;
echo '<br>';
$datetime->setTimezone(new DateTimeZone('Your_local_timezone')); // ex: UTC (+00h00) or Europe/Moscow (+4h00)
$result = $datetime->format("H:i:s");
echo $result;
我試過,但它只適用於後綴是+ 01:00'\t'$ date = '14:00:00 + 01:00'; \t $ timezone; $ datetime = new DateTime($ date); $ target_timezone = new DateTimeZone('Europe/Brussels'); $ datetime-> setTimezone($ target_timezone); $ result = $ datetime-> format(「H:i:s」); \t echo $ result;'給出15:00:00,但使用+02:00給出14:00:00 – JonVH
您可以使用例如'Europe/Moscow'時區(+04:00):$ datetime- > setTimezone(new DateTimeZone('Europe/Moscow')); –
使用日期時間的setTimezone
方法。它會自動更改時間以匹配時區。
$date = new DateTo,e("2017-02-02 10:00:00", new DateTimeZone("+0200"));
$date->setTimezone(new DateTimeZone("-0200"));
var_dump($date->format("H:i:s"));
會輸出如下:
string '06:00:00' (length=8)
$utc = new DateTimeZone("UTC");
$zone = new DateTimeZone("YOUR_TIME_ZONE");
$date = new DateTime("14:00:00+02:00", $utc);
$date->setTimezone($zone);
echo $date->format('Y-m-d H:i:s');
您應該具體時區,並告訴DateTime
使用時區 例如:
$time = '14:00:00+02:00';
$datetime = DateTime::createFromFormat('H:i:s+T', $time);
$datetime->setTimezone(new DateTimeZone('Europe/Warsaw'));
$result = $datetime->format("H:i:s");
echo($result);
使用+T
在格式模式說,PHP的日期包含一個時區,在下一步你應該使用setTimezone
設置你的時區。比如我設置'Europe/Warsaw'
,但沒有發生堂妹+02:00是CEST
這就是等於'Europe/Warsaw'
另一種方式是改變+02:00
命名時區下面是一個例子:
$time = '14:00:00 (UTC)';
$datetime = new DateTime($time);
$datetime->setTimezone(new DateTimeZone('Europe/Warsaw'));
$result = $datetime->format("H:i:s");
echo($result);
$日期時間=新日期時間($日期);應該是$ datetime = new DateTime($ time); 。對? – Stanly