Raylarda, DateTime.now.utc ve Time.current öğelerinin ne zaman kullanılacağı konusunda biraz kafa karıştırıcıyım. Özellikle farklı versiyonlarda en iyi olan çerçeve içinde farklı görüşler vardır. DateTime.now.utc
sıfır ofset bir UTC ile bir zaman damgası üretir gibi Time.current.utc
UTC bir saat dilimine sahip bir zaman damgası üretirkenRails'de "DateTime.now.utc" ile "Time.current.utc" ne zaman kullanılmalıdır?
O görünüyor. Bu ince bir ayrım gibi gözüküyor, ancak çoğu durumda oldukça önemli (örneğin, DST hesaplamaları).
DateTime.now.utc
'u ne zaman kullanmalı ve Time.current.utc
'u ne zaman kullanmalısınız? Time.current.utc
yerine DateTime.now.utc
kullanmak için herhangi bir neden var mı?
Fark yaratan bir örnek verebilir misiniz? UTC'nin herhangi bir gün ışığından yararlanma geçişleri olmadığı göz önüne alındığında, kesinlikle başka zaman dilimlerini kullanmaya başladığınızda bir fark yaratıyor ... (Ruby'yi bilmiyorum, ama çok fazla tarih/zaman meselesi yaptım, Böylece daha fazla arka plan ile yardımcı olabilirim.) –
@JonSkeet: Fark yaratıp yaratmadığını bilmiyorum. (Bu yüzden hangisini kullanmam gerektiğini soruyorum!) 'DateTime.now.utc' ilk olarak' DateTime.now' öğesini çağırır ve daha sonra "UTC" zamanına ulaşmak için UTC ofsetini tersine çevirir. Yani _time zones_ arasında değil, _offsets_ arasında çeviri yapmadığına dikkat edin. Bu durum, örneğin Şangay'daki rezil 1927-1928 örneğinde sorun yaratabilir mi? –
@JonSkeet: Aslında UTC'de değilseniz, o zaman "DateTime.now" ve "Time.current" her ikisi de UTC'den başka bir yerde yerel bir saat oluşturur. Başka bir deyişle, UTC'ye nasıl dönüştükleri konusundaki yaklaşımlarında farklılık gösterirler - bir tanesi doğrudan bir ofset uygulayarak yapar; diğeri, UTC'nin yeni saat dilimindeki zaman dilimi hesaplamalarını aslında tekrarlayarak yapar. –