我有一个字符串$StartDate = "2015-09-23"
(应该像yyyy-mm-dd)。
比我让$UdtStart= strtotime($StartDate)
返回1442980800;
好吧,如果我去这个link它返回“Wed,23 Sep 2015 04:00:00 +0000”。
首先,我们为什么要添加04:00:00?
然后,如果我这样做$ back = gmdate(“Y-m-d H:i:s”,($ UdtStart));我将有“2015-09-26 04:00:00”。
我错过了什么?
$UdtStart= strtotime($StartDate);
$back=gmdate("Y-m-d H:i:s", ($UdtStart));
答案 0 :(得分:2)
Wed, 23 Sep 2015 04:00:00 +0000
注意最后是+0000
,这意味着时间是UTC。根据{{3}}:
除非在该参数中指定了时区,否则此函数的每个参数都使用默认时区。
gmdate
适用于格林威治标准时间(现在真的应该被称为utcdate
),所以你要求的数据与你给出的数据不同。
我愿意在距离UTC四小时的时区内下注您的资金,这就是为什么您会看到这一点。
如果您想要本地时间,请使用date()
而不是gmdate()
。 PHP strtotime() doco州:
与
date()
函数相同,只是返回的时间是格林威治标准时间(GMT)。