Ne yazık ki, her zaman ofset her saatinde tek bir saat dilimi yoktur. Birçok GMT uzaklıklar birden dilimleri var. Ayrıca, GMT DST (varsa) sırasında değişim kaydırır. Örneğin, DST sırasında, ABD / Arizona ve ABD / Dağ aynı GMT ofset paylaşıyoruz; Ancak, yılın kalan döneminde, US/Mountain
ve US/Arizona
aynı GMT paylaşmayın ofset. PHP desteklenen dilimleri listesi için DateTimeZone::listIdentifiers()
or check out the manual kullanabilir ya.
Eğer sıfırdan bir uygulama başlangıç olsaydı, ben ofset yerine GMT saat dilimi belirleyicinin saklanması öneririm, ama ben uygulama üretimde zaten tahmin ediyorum. Bu durumda, gerçekten verilerin iyileştirilmesi olmadan dilimini görüntülemek için güvenilir bir yol yok.
Ben size tabloya bir timezone
sütun eklemenizi öneririm. Sen ofset GMT'ye dayalı varsayılan bazı önceden tanımlanmış listesine timezone
set olacak bir kerelik bir senaryo yazabilirim. Ofset GMT 8 Örneğin, timezone
America/Los_Angeles
ayarlanır. Son olarak, görüntülemek için uygulamayı değiştirmek / timezone tanımlayıcı yerine GMT uzaklıklar kaydedin. Bu, kullanıcıların bir alt kümesi için sorunlara neden olabilir, ama onlar için gerekirse onların dilimini değiştirmek için izin verir.