作者BloodyDawn (BigB)
看板PHP
标题[请益] getTimestamp的时间不正确
时间Mon Jan 28 13:53:56 2013
===Code===
$now = date("Y-m-d H:i:s");
$date = new DateTime($now);
echo $date->getTimestamp();
===问题===
如果直接将$now给echo出来显示的时间是正确的
但透过getTimestamp()去取得timestamp会少八个小时
php.ini的date.timezone有改成Asia/Taipei但是没用
code改成
$date = new DateTime($now, new DateTimeZone('Asia/Taipei'));
或是
echo mktime(10, 0, 0, 1, 28, 2013);
同样会少八小时
请问还有什麽地方是没我设定吗?因为实在是找不出为什麽date正常
但timestamp会少八小时的原因
===环境===
Linux:Debian 6(时间正常,时区也是Asia/Taipei)
PHP 5.4
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.44.22
1F:→ arrack:差八小时应该是时区的问题 01/28 17:44
2F:→ arrack:echo date('Y/m/d H:i:s O',timestamp); 看看时区是多少 01/28 17:45
3F:→ arrack:或是date_default_timezone_set("Asia/Taipei");试试看 01/28 17:45
4F:→ arrack:第二行的timestamp 自行修改成你的变数 01/28 17:46
5F:→ BloodyDawn:谢谢~将时区设成UTC就正常了,用Asia/Taipei反而有问题 01/29 10:10
6F:→ BloodyDawn:原因不明= = 01/29 10:10
7F:→ xxxzzz:timestamp是固定的,不会因时区改变 02/12 09:15