हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली और दूसरी तर्क के रूप में 'YYYY-MM-DD' प्रारूप में दो तिथियां लेता है। फ़ंक्शन को फिर दो तिथियों के बीच के दिनों की संख्या की गणना करके लौटानी चाहिए।
उदाहरण के लिए -
यदि इनपुट तिथियां हैं -
const str1 = '2020-05-21'; const str2 = '2020-05-25';
तो आउटपुट होना चाहिए -
const output = 4;
उदाहरण
const str2 = '2020-05-25';
const daysBetweenDates = (str1, str2) => {
const leapYears = (year, month) => {
if (month <= 2) {
--year;
}
let floor = Math.floor;
return floor(year / 400) + floor(year / 4) - floor(year / 100);
};
let monthDays = [0, 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30];
for (let i = 1; i < monthDays.length; ++i) {
monthDays[i] += monthDays[i - 1];
}
let days = (year, month, d) => (year * 365) + leapYears(year, month) + monthDays[month] + d;
let p = days(...str1.split('-').map(Number));
let q = days(...str2.split('-').map(Number));
return Math.abs(p - q);
};
console.log(daysBetweenDates(str1, str2));आउटपुट
कंसोल में आउटपुट होगा -
4