لقد واجهت مؤخرًا مشكلة، وهي أنه عندما أحصل على التاريخ في النموذج وأنقله إلى الخلفية من خلال json، واجهت وظيفة Date.parse(str) وأبلغت عن خطأ ضمن ff: NAN
بعد البحث عن بعض المعلومات، وجدت أن الدالة Date.parse() لديها متطلبات لتنسيق التاريخ: يرجى الرجوع إلى الدالة Date.parse للحصول على التفاصيل.
لتاريخ تشغيل js:
إنشاء كائن تاريخ:
var objDate=new Date([قائمة الوسائط]);
هناك خمسة أنواع من نماذج المعلمات:
انسخ رمز الكود كما يلي:
عرض عاديتاريخ جديد("الشهر dd,yyyy hh:mm:ss");
تاريخ جديد("الشهر ي ي,س س س س");
التاريخ الجديد (yyyy،mth،dd،hh،mm،ss)؛
التاريخ الجديد(yyyy,mth,dd);
تاريخ جديد (مللي ثانية)؛
يوضح:
الشهر: يشير إلى اسم الشهر باللغة الإنجليزية، من يناير إلى ديسمبر
mth: يمثل الشهر كعدد صحيح، من 0 (يناير) إلى 11 (ديسمبر)
محتوى
dd: يشير إلى اليوم من الشهر من 1 إلى 31
yyyy: سنة مكونة من أربعة أرقام
hh: الساعة، من 0 (منتصف الليل) إلى 23 (11 مساءً)
مم: الدقائق، عدد صحيح من 0 إلى 59
ss: ثانية، عدد صحيح من 0 إلى 59
مللي ثانية: ميلي ثانية، عدد صحيح أكبر من أو يساوي 0، يشير إلى عدد المللي ثانية بين الوقت الذي سيتم إنشاؤه و1 يناير 1970 بتوقيت جرينتش.
ما وجدته:
يمكن أيضًا أن يدعم إنشاء التاريخ في Javascript new Date("yyyy/MM/dd"); حيث: MM عدد صحيح يمثل الشهر من 0 (يناير) إلى 11 (ديسمبر)، لذلك من السهل جدًا استخدام التعبيرات العادية. لتحويل تواريخ السلسلة.
رمز الاختبار:
انسخ رمز الكود كما يلي:
<mce:script type="text/javascript"><!--
document.write("<br/>" + new Date("3 فبراير 2009"));
document.write("<br/>" + new Date("3 فبراير 2009 10:52:03"));
document.write("<br/>");
document.write("<br/>" + تاريخ جديد(2009,1,3));
document.write("<br/>" + تاريخ جديد(2009,1,3,10,52,03));
document.write("<br/>");
document.write("<br/>" + new Date(Date.parse("3 فبراير 2009")));
document.write("<br/>" + new Date(Date.parse("3 فبراير 2009 10:52:03")));
document.write("<br/>" + new Date(Date.parse(2009,1,3))); // الإخراج: NAN
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))); // الإخراج: NAN
document.write("<br/>" + new Date(Date.parse("2009/02/03")));
document.write("<br/>");
document.write("<br/>" + تاريخ جديد("2009/02/03"));
document.write("<br/>" + new Date("2009/02/03 11:12:13"));
document.write("<br/>" + new Date("2009-02-03")); //الإخراج: NAN
// --></mce:script>
نتيجة الإخراج:
الثلاثاء 3 فبراير 00:00:00 UTC+0800 2009
الثلاثاء 3 فبراير، الساعة 10:52:03 بالتوقيت العالمي المنسق+0800 2009
الثلاثاء 3 فبراير 00:00:00 UTC+0800 2009
الثلاثاء 3 فبراير، الساعة 10:52:03 بالتوقيت العالمي المنسق+0800 2009
الثلاثاء 3 فبراير 00:00:00 UTC+0800 2009
الثلاثاء 3 فبراير، الساعة 10:52:03 بالتوقيت العالمي المنسق+0800 2009
نان
نان
الثلاثاء 3 فبراير 00:00:00 UTC+0800 2009
الثلاثاء 3 فبراير 00:00:00 UTC+0800 2009
الثلاثاء 3 فبراير، الساعة 11:12:13 بالتوقيت العالمي المنسق+0800 2009
نان
-------------------
انسخ رمز الكود كما يلي:
window.onload=function(){
فار التابعةفال = "2005-3-4"؛
// تحويل إلى تاريخ بناءً على سلسلة التاريخ
var regEx = new RegExp("//-"،"gi")؛
DependVal=dependedVal.replace(regEx,"/");
//dependedVal=depenedVal.replace("//-"،"،/")؛// هذا لا يعمل
تنبيه (يعتمد فال)
// التحليل يتطلب تنسيق 2005/3/4
فار ميلي ثانية=Date.parse(depenedVal);
تنبيه (ملي ثانية)
vardependentDate=new Date();
dependentDate.setTime(ملي ثانية);
var now = new Date();
// انتبه للأقواس، والقضايا ذات الأولوية، والعجز
تنبيه("عدد السنوات المتباعدة:"+(now.getFullYear() -dependentDate.getFullYear()));
}
في الواقع، يجب نقل التاريخ بين المتصفح والخادم من خلال قيمة المللي ثانية، وإلا سيتم الإبلاغ عن خطأ 400!