Ben yeni PHP DateTime sınıfları kullanan bir takvim uygulaması var. Ben yinelenen olayları işlemek için bir yol var, ama bu hack-ish görünüyor ve ben siz daha iyi fikirleri varsa görmek istedim:
- Ben 11/16/2009 (16 Kasım 2009) başlayan bir yinelenen olay var
- Bu 3 gün, her meydana gelecek
- Olay süresiz tekerrür edecek
Adlı kullanıcı Aralık, 3100 takvim bakar diyelim - bu olay normal gibi her 3 günde bir tekrarlanması orada göstermelidir. Soru - nasıl o gün o ayın hesaplanır?
=========================================
This is how I basically do it, but I know I'm missing something easier:
- Ben ay (1 Aralık 3100) baktı olmanın başlangıç ve $ daysDiff gibi saklanan etkinlik başlangıç tarihi (16 Kasım 2009) arasındaki gün farkı hesaplamak
- Ben bu gibi baştan 3 gün bir faktör olsun, böylece modülü çıkarma: $ daysDiff - ($ daysDiff% 3)
- Tartışmanın uğruna bir tarih olarak bana 29 Kas 3100 verir söylüyorlar sağlar.
- Ben Aralık 3100 içindeki tüm tarihleri var kadar sonra tekrar tekrar bu tarihten 3 gün eklemek
My main problem comes with step 1. The PHP DateInterval::date_diff function does not calculate differences in days. It will give me years, months, ve days. I then have to fudge the numbers to get an estimate date around Dec, 3100. 11/16/2009 + (1090 years * 365.25 days) + (9 months * 30.5 days) + 15 days
Eğer 9999 yılı gibi geleceğe GERÇEK kadar gittiğinizde, bu tahmin sonra ben gereken yere almak için 3 gün aralıklarla bir sürü çıkarmak zorunda, bir ay kapalı olabilir.