我需要从位于美国德克萨斯州的服务器获取当前的印度时间。
我已将时间存储为UTC时间戳。 我正在尝试这种方式。
date_default_timezone_set('UTC');
echo date('O').'<br>';
echo date("F j, Y, h:i:s a", time()+(330*60)).'<br>';
I get correct time on my local server.
+0000
September 12, 2015, 10:59:53 am
and this on remote server.
+0000
September 12, 2015, 11:19:14 am
请查看并说明为什么远程服务器的时间不同。
答案 0 :(得分:2)
time()
函数正在返回GMT时间。尝试使用echo (new DateTime())->format('r');
代替
答案 1 :(得分:1)
为什么不直接将默认时区设为Asia/Calcutta
?
答案 2 :(得分:1)
您使用+(330*60)
位给时间带来奇怪的偏移。这不是正确的做法。
尝试
date_default_timezone_set("Asia/Calcutta");
echo date("F j, Y, h:i:s a", time() ).'<br>';
或尝试
ini_set( 'date.timezone', 'Asia/Calcutta' );
echo date("F j, Y, h:i:s a", time() ).'<br>';