Dengan perkembangan Internet, semakin banyak laman web atau aplikasi perlu melibatkan pengiraan tarikh atau pengesahan. Dalam JavaScript, menentukan sama ada tarikh adalah munasabah adalah masalah biasa. Jadi, bagaimana untuk menilai sama ada tarikh itu munasabah? Seterusnya, mari kita bincangkan bersama.
1. Format tarikh
Sebelum menilai sama ada tarikh itu munasabah, anda perlu mengesahkan sama ada format tarikh yang dimasukkan adalah betul:
Di mana, yyyy mewakili tahun, MM mewakili bulan, dan dd mewakili hari.
Antaranya, dua format tarikh pertama adalah lebih biasa dan juga merupakan format tarikh yang paling biasa dalam pembangunan.
2. Penghakiman Tahun Lompat
Apabila menilai sama ada tarikh itu munasabah, anda perlu menilai sama ada tahun itu adalah tahun lompat.
Takrif tahun lompat: Tahun kalendar Gregorian yang merupakan gandaan 4 dan bukan gandaan 100 ialah tahun kalendar Gregorian yang merupakan gandaan 400 juga merupakan tahun lompat. Contohnya: 2000 ialah tahun lompat, tetapi 1900 bukan tahun lompat.
Dalam JavaScript, kod untuk penghakiman tahun lompat adalah seperti berikut:
function isLeapYear(year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; }
3 Pengesahan tarikh
Dengan asas untuk penghakiman tahun lompat, anda kemudiannya boleh melaksanakan. pengesahan tarikh Disahkan. Khususnya, untuk rentetan tarikh, ia boleh disahkan seperti berikut:
Berikut ialah langkah khusus dan pelaksanaan kod:
Format pengesahan ungkapan biasa
function checkDate(dateStr) { var reg = /^(\d{4})(\/|-|\u5e74)(\d{1,2})(\/|-|\u6708)(\d{1,2})/; return reg.test(dateStr); }
Ekstrak tahun, bulan dan hari
function getDateInfo(dateStr) { var dateArr; if (dateStr.indexOf('/') != -1) { dateArr = dateStr.split('/'); } else if (dateStr.indexOf('-') != -1) { dateArr = dateStr.split('-'); } else { dateArr = dateStr.split('\u5e74'); dateArr[1] = dateArr[1].replace('\u6708', ''); dateArr[2] = dateArr[2].replace('\u65e5', ''); } return { year: parseInt(dateArr[0]), month: parseInt(dateArr[1]), day: parseInt(dateArr[2]) } }
Pengesahan bulan
function checkMonth(month) { return month >= 1 && month <= 12; }
Pengesahan Hari
function checkDay(year, month, day) { var maxDay; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: maxDay = 31; break; case 4: case 6: case 9: case 11: maxDay = 30; break; case 2: if (isLeapYear(year)) { maxDay = 29; } else { maxDay = 28; } break; default: return false; } return day >= 1 && day <= maxDay; }
4. Ringkasan
Melalui penjelasan format tarikh, tahun lompat dan pengesahan tarikh, saya percaya semua orang boleh belajar cara menilai sama ada tarikh itu munasabah. Sudah tentu, ia mungkin sukar untuk dilaksanakan, dan anda perlu berlatih lebih dalam amalan. Semoga artikel ini bermanfaat kepada semua, terima kasih kerana membaca.
Atas ialah kandungan terperinci Bagaimana untuk menilai sama ada tarikh itu munasabah dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!