PHP date(( 文档说:
时间戳 可选的时间戳参数是一个整数 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
.在文档中它说:
可选的时间戳参数是一个整数 Unix 时间戳,它 如果未给出时间戳,则默认为当前本地时间
但如果它被给予,它应该默认为给予的,对吗?
在 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()])
被视为date('F j, Y, H:i - e', time());
,因为没有第二个参数。要获得UTC时间,我建议您使用" echo gmdate('F j, Y, H:i - e'); //will output March 30, 2016, 16:22 - UTC
而
是的,同意@KBJ答案,或者,您可以设置您想要获取时间然后获取时间的任何地方(在您的情况下为亚洲(的时区。
date_default_timezone_set("亚洲/加尔各答"(;
$date= 日期('m-d-Y'( ;