簡體   English   中英

DateTime輸入在PHP中的時區之間轉換

[英]DateTime input convert between timezones in PHP

我有一個獲取當地時間的輸入框

date_default_timezone_set('America/Los_Angeles');
echo "<input type='datetime-local' name='fromDate' class='dates'>";

當我在輸入中輸入12-31-2014 10:00:00 PM

echo $_POST['fromDate'];

回應: 2014-12-31T22:00:00

$test = new DateTime($_POST['fromDate']);
echo $test;

我得到2014-12-31T22:00:00 America/Los_Angeles

然后當我轉換

$from_dateGMT  = new DateTime($_POST['fromDate'], new DateTimeZone('Europe/Paris'));
$from_date = $from_dateGMT->format('Y-m-d\TH:i:s');
echo $from_date;

我得到2014-12-31T22:12:00 UTC ,這是上面列出的相同時間,應該相加8個小時。

我究竟做錯了什么?

我從來沒有在PHP中處理日期/時間,因此這對我來說是一種學習經驗。

也許這會工作

$test = new DateTime($_POST['fromDate'], new DateTimeZone('America/Los_Angeles'));
$test->setTimezone(new DateTimeZone('Europe/Paris'));
echo $test->format('Y-m-d\TH:i:s');

至少這是在php手冊中做到的: http : //us2.php.net/manual/en/datetime.settimezone.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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