"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء تواريخ بتنسيق ISO 8601 مع إزاحات المنطقة الزمنية في JavaScript؟

كيفية إنشاء تواريخ بتنسيق ISO 8601 مع إزاحات المنطقة الزمنية في JavaScript؟

تم النشر بتاريخ 2024-12-23
تصفح:760

How to Generate ISO 8601 Format Dates with Timezone Offsets in JavaScript?

تنسيق التواريخ ISO 8601 مع إزاحة المنطقة الزمنية في JavaScript

في JavaScript، قد يكون إنشاء التواريخ بتنسيق ISO 8601 مع إزاحة المنطقة الزمنية أمرًا صعبًا بسبب تعويضات المنطقة الزمنية السلبية المحتملة. تتناول هذه المقالة هذه المشكلة وتوفر حلاً.

فهم التنسيق

يحدد تنسيق ISO 8601 التواريخ كما يلي: YYYY-MM-DDThh:mm:ss± سه: مم. على سبيل المثال، 2002-10-10T12:00:00-05:00 يمثل ظهر يوم 10 أكتوبر 2002، بالتوقيت الصيفي المركزي (خمس ساعات خلف التوقيت العالمي المنسق).

العثور على التوقيت المحلي والتوقيت العالمي المنسق إزاحة

لإنشاء سلسلة ISO 8601، يجب علينا أولاً الحصول على التوقيت المحلي باستخدام جديد Date() وحساب إزاحة UTC باستخدام getTimezoneOffset(). يتم الحصول على الإزاحة بالدقائق، لذلك نقسمها على 60 للحصول على عدد الساعات.

التعامل مع إزاحات المنطقة الزمنية السلبية

يمكن أن ترجع الدالة getTimezoneOffset() قيمة سلبية قيم. في مثل هذه الحالات، يجب علينا تنسيق الإزاحة بشكل مختلف. على سبيل المثال، يجب أن يتم عرض إزاحة -120 دقيقة على أنها 02:00 (ساعتان قبل التوقيت العالمي المنسق).

وظيفة المساعدة للتنسيق

لتبسيط العملية ، يمكن استخدام وظيفة مساعدة، toIsoString، لتنسيق التواريخ بتنسيق ISO 8601 مع إزاحات المنطقة الزمنية:

function toIsoString(date) {
  var tzo = -date.getTimezoneOffset(), // Make the offset positive
      dif = tzo >= 0 ? ' ' : '-', // Determine the sign
      pad = function(num) { // Ensure two-digit representation
          return (num 

تأخذ هذه الوظيفة التاريخ كوسيطة وتقوم بتنسيقه وفقًا لمواصفات ISO 8601، بما في ذلك إزاحة المنطقة الزمنية.

مثال للاستخدام

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة toIsoString:

var dt = new Date();
console.log(toIsoString(dt)); // Outputs the date in ISO 8601 format with timezone offset

باستخدام هذا الأسلوب، يمكنك بسهولة تنسيق التواريخ في JavaScript وفقًا لمعيار ISO 8601، مما يضمن التزامها بالتنسيق الصحيح.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3