我已经使用gmdate("H:i:s", time());
将time()
转换为小时、分钟和秒。
问题:
然而,当我把它回声出来时,它显示了一个小时前的时间。现在是:
15:05
但是gmdate()
显示:
14:05
为什么会发生这种情况?
编辑:我为欧洲/伦敦设置了时区。
$time = time();
date_default_timezone_set('Europe/London');
echo date('H:i:s', $time);
您的时区不正确。这是Europe/London
,而不是相反。此外,伦敦目前不在格林尼治标准时间(GMT(以下,仅在冬季月份低于格林尼治标准。您最初使用的是gmdate()
,它与date()
基本相同,只是返回的时间是格林尼治标准时间(GMT(,目前比伦敦晚一小时。
gmdate()
是一个返回格林尼治标准时间(GMT(的函数。
您可以将date()
功能用于您所在时区的本地时间。您还可以使用date_default_timezone_set('your timezone');
设置时区