Truyền tháng (1-12) và năm vào new Date(year, month, 0). Ngày 0 của tháng sau là ngày cuối của tháng trước. Dùng getDate() lấy số ngày.
Ví dụ
<!DOCTYPE html>
<html>
<body>
<script>
function daysInMonth(month, year) {
return new Date(year, month, 0).getDate();
}
document.write("Tháng 7/2012: " + daysInMonth(7, 2012) + " ngày<br>"); // 31
document.write("Tháng 9/2012: " + daysInMonth(9, 2012) + " ngày"); // 30
</script>
</body>
</html>
Kết quả
Tháng 7/2012: 31 ngày Tháng 9/2012: 30 ngày
Lưu ý: Tháng trong JS đếm từ 0 (0=Jan, 11=Dec). Hàm trên nhận tháng 1-12 cho dễ hiểu.