日期时间输入在 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-dTH: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-dTH:i:s');

至少在 php 手册中是这样完成的:http://us2.php.net/manual/en/datetime.settimezone.php

相关内容

  • 没有找到相关文章

最新更新