PHP de TIME ZONE sorunu
PHP kodlamasında time ve Date nimetlerinden faydalanmanın güzel oldugu kadar. içinden çıkılmaz bir durumda alabiliyor.
Son günlerde farkına vardığım bir sorunu buradan paylaşmayı düşündüm.
Kayıt alırken aşağıdaki iki zaman birbirine eşit..
strtotime('2010-02-27 20:40:03 +0000') === strtotime('2010-02-27 21:40:03 +0100')
ve yukarıdaki time olarak alinan kayit +0200 zaman diliminde olan bir serverden çağrıldıgında ise yukarıdaki tarih bize 2010-02-27 22:40:03 +0200 olarak dönüyor..
Yerel saatçilikte eş bir durum..
Ancak şöyle düşünün sabit bir saat istiyorsanız. hangi serveri kullanırsanız kullanın ister bugün veritabanınız japonyada olsun isterse yarın amarikada.. ya da ertesi gün fransada. ama siz eklediğiniz tarihli bir verinin aynı yerde aynı tarihi göstermesini istiyorsunuz ne yapacaksınız?
gmDate sanırım burada imdadımıza yetişiyor. Öncelikle böyle kritik zamanınız varsa strtotime('2010-02-27 20:40:03 +0000') ya da gmmktime şeklinde kayıda alırken çağırırken de gmdate() fonksiyonu ile çağırıyoruz..
en zor kısmıda sanırım geçmişte zaman aralığı dikkat edilmeden alınan kayıtların düzenlenmesi olsa gerek. GMT farkı olmadığı sürece sorun olmıyacaktır..
Sorunumuz da burada başlıyor. PHP ile ilk kayıt GMT zaman aralığını nasıl bulacağız? Geçmişte bir kayıt içinde birden çok farklı GMT aralığı varsa bunları nasıl ortaya çıkaracağız?
Son günlerde farkına vardığım bir sorunu buradan paylaşmayı düşündüm.
Kayıt alırken aşağıdaki iki zaman birbirine eşit..
strtotime('2010-02-27 20:40:03 +0000') === strtotime('2010-02-27 21:40:03 +0100')
ve yukarıdaki time olarak alinan kayit +0200 zaman diliminde olan bir serverden çağrıldıgında ise yukarıdaki tarih bize 2010-02-27 22:40:03 +0200 olarak dönüyor..
Yerel saatçilikte eş bir durum..
Ancak şöyle düşünün sabit bir saat istiyorsanız. hangi serveri kullanırsanız kullanın ister bugün veritabanınız japonyada olsun isterse yarın amarikada.. ya da ertesi gün fransada. ama siz eklediğiniz tarihli bir verinin aynı yerde aynı tarihi göstermesini istiyorsunuz ne yapacaksınız?
gmDate sanırım burada imdadımıza yetişiyor. Öncelikle böyle kritik zamanınız varsa strtotime('2010-02-27 20:40:03 +0000') ya da gmmktime şeklinde kayıda alırken çağırırken de gmdate() fonksiyonu ile çağırıyoruz..
en zor kısmıda sanırım geçmişte zaman aralığı dikkat edilmeden alınan kayıtların düzenlenmesi olsa gerek. GMT farkı olmadığı sürece sorun olmıyacaktır..
Sorunumuz da burada başlıyor. PHP ile ilk kayıt GMT zaman aralığını nasıl bulacağız? Geçmişte bir kayıt içinde birden çok farklı GMT aralığı varsa bunları nasıl ortaya çıkaracağız?
Konular
- HTML Elementler
- HTML Etiketler
- HTML Parametreler
- HTML Biçimlendirme
- HTML Özeller
- HTML Bağlantılar
- HTML Çerçeveler
- HTML Tablolar
- HTML Listeleme
- HTML Formlar
- HTML Resimler
- HTML Renkler
- HTML Gelişmiş
- HTML Tasarım
- HTML Fontlar
- HTML Stiller
- HTML Başlık
- HTML Meta
- HTML URL
- HTML Scriptler
- CSS’in Yapısı
- CSS Özellik Seçicileri
- CSS Pseudo-Sınıfları
- CSS Birimleri
- CSS’de Kısaltmalar
- CSS Background Özellikleri
- CSS Örnek Kod
- MySQL Nedir ? ve Gelişimi
- 3D Max Nedir?
- 3D Max Modifier Nedir?