Кажется, это основной вопрос, но я не могу найти ответ, кроме как «PHP обрабатывает его для вас», и это не то, что мне нужно.
В настоящее время, если я echo date_default_timezone_get();
я получил Europe/London
ОТЛИЧНЫЙ.
Как я могу сказать, что это BST или GMT.
Мне нужно отобразить Europe/London BST
или же Europe/London GMT
основанный на том, что это в настоящее время в.
Как я могу надежно сделать это?
Достаточно просто — узнать текущее время в UTC
и сравнить его с текущим временем в Europe/London
, Если они различаются, действует BST. Если они идентичны, это не так.
В качестве альтернативы используйте date()
«s O
, P
, или же Z
параметры по сути одинаковы — они должны быть +0000
, +00:00
, или же 0
соответственно, если действует GMT. (I
может быть работать тоже — я не уверен, что BST технически считается «летнее время» …)
Других решений пока нет …