"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يواجه Safari صعوبة في التعامل مع التواريخ بتنسيق \'2010-11-29\'؟

لماذا يواجه Safari صعوبة في التعامل مع التواريخ بتنسيق \'2010-11-29\'؟

تم النشر بتاريخ 2024-11-08
تصفح:178

Why Does Safari Struggle with Dates in \'2010-11-29\' Format?

ميزات تحليل التاريخ في Safari

لماذا يُظهر Safari خطأ "تاريخ غير صالح" عند مواجهة تواريخ بتنسيقات مثل "29-11-2010" "، بينما تتعامل المتصفحات الأخرى مع هذه التواريخ دون مشكلة؟ يمكن أن يكون هذا السلوك غير المتناسق محبطًا لمطوري الويب.

يكمن جذر المشكلة في تفسير Safari للشرطات (-) في سلاسل التاريخ. في حين أن معظم المتصفحات تتعرف على الشرطات كفواصل للتاريخ، فإن Safari يعاملها عن طريق الخطأ كجزء من التاريخ نفسه، مما يؤدي إلى حسابات غير صحيحة للتاريخ.

للتوضيح، جرب محاولات تحليل السلسلة التالية:

alert( تاريخ جديد('2010-29-11')); // لا يعمل في سفاري تنبيه(تاريخ جديد('29-11-2010')); // لا يعمل في سفاري تنبيه(تاريخ جديد('29-11-2010')); // لا يعمل في Safari
alert(new Date('2010-29-11')); // Doesn't work in Safari
alert(new Date('29-11-2010')); // Doesn't work in Safari
alert(new Date('11-29-2010')); // Doesn't work in Safari
كما ترون، يفشل Safari في تحليل هذه التواريخ بشكل صحيح، بغض النظر عن ترتيب المكونات.

أثناء استخدام مكتبة منفصلة مثل Moment.js أو date-fns خيارًا للتخفيف من حدة هذه المشكلة، يتوفر حل أكثر وضوحًا. من خلال استبدال الشرطات بالشرطة المائلة (/)، يستطيع Safari تفسير سلسلة التاريخ بشكل صحيح:

console.log(new Date('2011-04-12'.replace(/-/g, "/" )));
alert(new Date('2010-29-11')); // Doesn't work in Safari
alert(new Date('29-11-2010')); // Doesn't work in Safari
alert(new Date('11-29-2010')); // Doesn't work in Safari
يضمن هذا الإصلاح المكون من سطر واحد قدرة Safari على تحليل التواريخ بالتنسيق المتوقع، مما يسمح لتطبيقات الويب بعرض التواريخ ومعالجتها بشكل متسق عبر متصفحات متعددة.

بيان الافراج أعيد طبع هذه المقالة على: 1729502775 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3