yanlış Zaman beginning_of_day end_of_day formatı: Ben beklediğiniz Ben tam olsun DateTime.now.beginning_of_day
çalıştırırsanızRaylar 3 DateTime ve ben bu kodla belirli günlerde olayları bulmaya çalışıyorum
Event.where('starttime BETWEEN ? AND ?', DateTime.now.beginning_of_day, DateTime.now.end_of_day)
raylar konsolunda:
Mon, 09 Apr 2012 00:00:00 -0700
Sorunun nerede olduğunu görebiliyorum ancak SQL konsollarına bakıyorum. Her nasılsa tarih, SQL sorgusuna girdiğinde otomatik olarak yanlış tarihe ve saate biçimlendirilir.
SELECT "events".* FROM "events" WHERE (starttime BETWEEN '2012-04-09 07:00:00' AND '2012-04-10 06:59:59')
Bu, yukarıdaki sql'ün söylediği gibi, bugün bugünden yarına kadar değişen sonuçlar veriyor. DateTime.now.beginning_of_day ayrıca DateTime.now.end_of_day, sql sorgusuna yaptıklarında yanlış biçimlendirildiğini görebiliyorum. Bunu belirli bir şekilde biçimlendirmem gerekiyor mu? Bugün 7:00 ve yarın saat 7'ye neden gideceği hakkında bir fikrin var mı?
Fark yaratıp yaratmadığını bilmiyorum ama PostgreSQL kullanıyorum.
Teşekkürler!
Hey cevabı takdir ediyorum. Seni tamamen takip edip etmediğimi bilmiyorum, ama pasifik zamana göre yapılandırmamı değiştirmenin iyi bir fikir olduğunu düşünmüyorum, çünkü pasifik zamanda olmayan kullanıcılar ne olacak? Umarım söylediklerimi alırım. Ayrıca, DateTime.now.utc.beginning_of_day öğesinin kullanılması, ilk gönderiimde listelediğim sorguları çalıştırdığımda aynı soruna neden oluyor. – botbot
evet, pasifik zamanında yaşıyorum. Bazı araştırmalar yaptıktan sonra bu olası bir çözüm gibi görünüyor. Bunu deneyeceğim. Önerin için teşekkürler. Hala NY'deki kullanıcılar için endişeleniyorum, bunun bir sorun olup olmadığını bilmiyorum, ancak uygulamanın pasifik zamanda çalışması bu noktada prototip yapmak için yeterince iyi. Teşekkürler. – botbot
@masterkrang, NY'deki kullanıcılar ve farklı saat dilimleri hakkında endişelenmeniz gerekirse, kullanıcının hangi saat dilimini kaydettiğini kaydedin ve bu kullanıcılar için uygun şekilde ayarlayın. https://gist.github.com/809775 – rainkinz