PHP date()文档说:
时间戳 可选的timestamp参数是整数Unix时间戳,如果未给出时间戳,则默认为当前本地时间。 换句话说,它默认为time()的值。
我使用位于贝尔格莱德的服务器(php.ini中的时区是"欧洲/贝尔格莱德")目前是UTC + 2:
echo date('F j, Y, H:i - e') // result => March 30, 2016, 18:22 - Europe/Belgrade
现在我想获得UTC时间。如果我们知道time()始终默认为UTC 时间并且在所有服务器上都相同,那么我应该可以这样做以获得UTC时间:
echo date('F j, Y, H:i - e', time()); // result => March 30, 2016, 18:22 - Europe/Belgrade
但结果是一样的。我应该得到March 30, 2016, 16:22 - UTC
。在文档中它说:
可选的timestamp参数是整数Unix时间戳 如果时间戳不是,则默认为当前本地时间
但是如果给出的话,它应该默认给出的是什么,不是吗?
答案 0 :(得分:2)
在java.sql.SQLException: No suitable driver found for jdbc:sybase:Tds:some.com:5000/db
中,date('F j, Y, H:i - e', time());
仍在解析当前服务器时间,第一个代码为time()
。因此,基本上,您的代码仍然相同;由于没有第二个参数,March 30, 2016, 18:22 - Europe/Belgrade
被视为date('F j, Y, H:i - e' [, $timestamp = time()])
。为了获得UTC时间,我建议你使用
date('F j, Y, H:i - e', time());
而
答案 1 :(得分:1)
是的,同意@KBJ的回答或者,您可以设置时区(在您的情况下为亚洲)您想要时间然后获得时间。
date_default_timezone_set( '亚/加尔各答');
$ date = date('m-d-Y');