似乎是一个基本问题,但除了“PHP为你处理它”之外我找不到答案,这不是我所追求的。
目前,如果我echo date_default_timezone_get();
我得到Europe/London
伟大。
我怎么知道它是BST还是GMT。
我需要根据目前的情况显示Europe/London BST
或Europe/London GMT
。
我怎样才能可靠地做到这一点?
足够简单 - 获取UTC
的当前时间,并将其与Europe/London
中的当前时间进行比较。如果它们不同,则BST生效。如果它们是相同的,那就不是。
或者,以基本相同的方式使用date()
的O
,P
或Z
参数 - 如果GMT生效,它们应分别为+0000
,+00:00
或0
。 (I
也可能有用 - 我不确定BST在技术上是否被视为“夏令时”......)