2011-12-22 18 views
6

Veritabanına kaydetmem gereken başka bir ülkedeki olaylarım var. Sorun, bu tarihlerin hiçbir zaman dilimi bilgisi içermemesidir.Belirli bir konumdaki belirli veri saatinin saat dilimi nasıl bulunur?

Bu konumda kullanılan saat dilimi CET (standart saat) veya CEST (yaz saati) 'dir.

Hangisinin oyunda olduğunu belirlemenin en kolay yolu nedir?

+0

ben bunu yapmak mümkün olduğunu sanmıyorum. Saati bir saate geri ayarladığımızda, o saatte her seferinde, standart saat ve yaz saatinde, saat dilimi dahil olmaksızın aynı görünecek bir zaman vardır. –

cevap

3

Ben ne istediğini tam olarak emin değilim. Ben düşünüyorum belirli bir tarihin gün ışığından yararlanma olup olmadığını öğrenmek için ihtiyacınız olan şey. Eğer öyleyse, date('I')'u kullanabilirsiniz.

$dst_now = date('I'); // whether our current timezone is currently in DST 
$dst_then = date('I', strtotime($date)); // whether that date is in DST for our current timezone 

$date_obj = new DateTime($date, new DateTimeZone('Europe/Paris')); 
$dst_thereandthen = $date_obj->format('I'); 
// whether that date is in DST for that timezone 

Eğer bunların hiçbiri olduğunu gerekenler, ne gerek açıklamak lütfen ...

+0

Tamam, başlık biraz yanıltıcıydı. Sabit. Ancak, bu kod, gerçekten ihtiyacım olan saat dilimi bilgisini sağlayabildiğinden, yanıt vermenize yardımcı olur. –

1

Standart/yaz saati arasında ayırım yapabileceğinden emin olmadığımdan, date_default_timezone_get() işlevinin istediğiniz bilgiyi vereceğini varsayalım.

date_default_timezone_get()

İlgili konular