• 0

كيف أُحول UTC DateTime إلى منطقة زمنية أخرى في ريلز؟

أقوم ببرمجة تطبيق ويب باستخدام الريلز وأحتاج إلى معرفة طريقة تحويل الوقت من UTC DateTime إلى منطقة زمنية (time zone) أخرى في الريلز أو في روبي؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك فعل ذلك بسهولة في ريلز أو في روبي (يجب عليك في حالة عدم وجود ريلز تثبيت مكتبة  ActiveSupport قبل تنفيذ الشرح)، فيكفي أن تستخدم تابع in_time_zone ومن ثم تُمرر له المنطقة الزمنية التي تريدها بمساعدة تابع TimeZone.new كما في المثال التالي:

zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)

أو يمكنك اختصار السطرين السابقين إلى هذا السطر فقط:

Time.now.in_time_zone("Central Time (US & Canada)")

يمكنك إيجاد جميع أسماء مناطق الزمنية الموجودة في ActiveSupport عن طريق كتابة السطر التالي:

ActiveSupport::TimeZone.all.map(&:name)

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن