मैं JS में मान्य और अमान्य दिनांक ऑब्जेक्ट के बीच का अंतर बताना चाहूंगा, लेकिन यह पता नहीं लगा सका:
var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
एक isValidDateसमारोह लिखने के लिए कोई विचार ?
Date.parseतिथि स्ट्रिंग को पार्स करने के लिए ऐश की सिफारिश की गई है , जो यह जांचने के लिए एक आधिकारिक तरीका देता है कि क्या तारीख स्ट्रिंग वैध है।- यदि संभव हो तो मैं क्या पसंद करूंगा, क्या मेरा एपीआई एक तिथि उदाहरण स्वीकार करता है और यह जाँचने / सक्षम करने में सक्षम है कि क्या यह वैध है या नहीं। Borgar का समाधान यह करता है, लेकिन मुझे इसे ब्राउज़रों में जांचने की आवश्यकता है। मुझे यह भी आश्चर्य है कि क्या कोई अधिक सुरुचिपूर्ण तरीका है।
- ऐश ने मुझे इस बात पर विचार करने के
Dateलिए प्रेरित किया कि मेरे एपीआई को बिल्कुल भी स्वीकार नहीं करना चाहिए, यह आसान होगा। - Borgar ने एक
Dateउदाहरण के लिए परीक्षण का सुझाव दिया , और फिरDateसमय मान के लिए परीक्षण किया । यदि दिनांक अमान्य है, तो समय मान हैNaN। मैंने ECMA-262 के साथ जांच की और यह व्यवहार मानक में है, जो कि वास्तव में मैं देख रहा हूं।
return ( Object.prototype.toString.call(d) === "[object Date]" && !isNaN(d.getTime()) );