Bugün 29 Şubat: testlerimiz bozuldu.Rails TimeWithZone ve geçen yıllar
Testlerimiz başarısız oluyor çünkü bu testler sonuçta şu gibi bir komutla karşılaştırılabilir: Time.zone.now - 1.year + 1.year
. Ve Time.zone.now
'a eşittir.
Bu neden oluyor? ActiveSupport neden böyle hesaplamalarda geçen yılları yönetemiyor? Zaman damgasıyla çalışmıyor mu, bu tür bir problemin olmasını engelliyor mu?
bugün bunu test ediyorsanız, bir kötü şans ... Bugün sadece 4 yılda mevcut Şubat 29. olduğunu var. Bu yüzden 29 Şubat 2017 için mevcut değil çünkü 'time.zone.now' +' 1.year' 28 Şubat'a alacaksınız. '' 1.year.from_now' da 28 Şubat’a dönecek – MrYoshiji
Evet bunu anladım. Ama neden Time.zone.now + 1.year' gibi 1 Mart’a eşit değil? Benim düşünceme göre daha uygun olurdu. – Guilherme
Time.zone.now - 365.days + 365.days çalışmış gibi görünüyor ... – tobmatth