আমি জেএসে বৈধ এবং অবৈধ তারিখের অবজেক্টের মধ্যে পার্থক্য বলতে চাই, তবে কীভাবে তা বের করতে পারলাম না:
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
তারিখের স্ট্রিংগুলি বিশ্লেষণের জন্য প্রস্তাবিত , যা তারিখের স্ট্রিংটি বৈধ কিনা তা যাচাই করার একটি অনুমোদিত উপায় দেয়। - আমি যদি পছন্দ করি তবে যদি সম্ভব হয় তবে আমার এপিআই-তে কোনও তারিখের উদাহরণ গ্রহণ করা এবং এটি বৈধ কিনা না তা যাচাই / প্রতিস্থাপন করতে সক্ষম হব। বোরগার এর সমাধানটি তা করে তবে আমার এটি ব্রাউজারগুলিতে পরীক্ষা করা দরকার। আরও চমকপ্রদ উপায় আছে কিনা তাও আমি ভাবছি।
- অ্যাশ আমাকে আমার এপিআইয়ের
Date
দৃষ্টান্তগুলি গ্রহণ না করার বিষয়টি বিবেচনা করিয়েছে , এটি যাচাইকরণ করা সবচেয়ে সহজ। - বোরগার একটি
Date
উদাহরণের জন্য পরীক্ষা করার পরামর্শ দিয়েছিল এবং তারপরেDate
তার সময়ের মান পরীক্ষা করার পরামর্শ দেয়। তারিখটি অবৈধ হলে সময় মানNaN
। আমি ECMA-262 দিয়ে পরীক্ষা করেছি এবং এই আচরণটি স্ট্যান্ডার্ডে রয়েছে, যা ঠিক আমি খুঁজছি।
return ( Object.prototype.toString.call(d) === "[object Date]" && !isNaN(d.getTime()) );