Ben iki gün arasındaki gün sayısını hesaplamak için çalışıyorum, ama ben yaz saati ile sorunlar çalıştırıyorum. İşte benim kod:
function date_diff($old_date, $new_date) {
$offset = strtotime($new_date) - strtotime($old_date);
return $offset/60/60/24;
}
Sürece gün aynı DST süre içinde her ikisi gibi çalışıyor:
echo date_diff('3/15/09', '3/18/09'); // 3
Ama onlar daha fazla ayrı değilsen:
echo date_diff('11/15/08', '3/18/09'); // 122.95833333333
Ben gün bir hatta numara istiyorum ve DST umurumda değil. Ben sonuç sarabilirsin varsayalım, ama o kıytırık hissediyor. Bir daha iyi (kolay) yolu var mı? Ben bunu önleyebilirsiniz eğer ben gün-ayrıştırma-ve-sayma-kaçınarak-sıçrama yılı şey bir bütün yazmak zorunda istemiyorum.
(Not: Bu php 5.1.6 altında çalıştırmak zorunda, yani 5.3 tarih bazı özellikleri mevcut olmayabilir.)
Biraz daha fazla bilgi: Ben ofset almak ve bir db olan diğer tarihsaat eklemek için gidiyorum ve ben zaman parçası değil, sadece günlük kısmı değiştirmek istiyorum. Ben ekleme yapmak zaman diğer yönde kapalı bir saat alır çünkü yuvarlama, zaten çalışmaz çıkıyor. Belki de bütün sorun için daha iyi bir yaklaşım var ....