قضبان الوقت شيطان في الجهاز الخاص بي ... إنه يأكل ساعتين قد فحص كل شيء!
-
05-07-2019 - |
سؤال
لقد راجعت بيئتي. rb
config.time_zone = 'Prague'
لا شيء في التنمية. rb فيما يتعلق بالوقت
يبدو أن هذا يعمل ، من الناحية النظرية ...
Time.zone.now # Thu, 10 Sep 2009 17:51:35 CEST +02:00
صحيح أيضا ...
Time.now # Thu Sep 10 17:52:10 +0200 2009
mysql... SELECT NOW() # 2009-09-10 17:53:48
صحيح!
ولكن عندما أقوم بإنشاء سجل جديد في القضبان أو تحديث سجل قديم
Item.create(:price => price, :spots => beds) # 2009-09-10 15:55:28
وأعادت تشغيل القضبان عدة مرات!
المحلول
يبدو أنه يوفرها في UTC (وقت GMT) ، وهو قبل ساعتين من التوقيت المحلي. يتم تخزين أوقات إنشاء إلى حد كبير في UTC -> ثم تترجمها عند المشاهدة.
تحرير: طابع زمني فئة يبدو أن يشير إلى أنه من المفترض استخدام الطابع الزمني المحلي. قد ترغب في التحقق من الإعداد الذي يشير إليه الوثائق.
نصائح أخرى
ما هو الوقت إذا قمت بتحديد هذا السجل عبر وحدة التحكم؟ 15:55 أو 17:55؟
إذا قمت بتحديد عبر وحدة التحكم ، فإنه يستخدم المنطقة الزمنية التي يتم تعيينها ، لذلك سيكون من الطبيعي أن يكون مختلفًا عن الطابع الزمني "الحقيقي" في قاعدة بيانات MySQL.
ألق نظرة على التناقضات الزمنية الغريبة بين الإنتاج والتنمية كذلك.