Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Mengira Bilangan Hari dalam Sebulan dengan Tepat dalam JavaScript?

Bagaimana Mengira Bilangan Hari dalam Sebulan dengan Tepat dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-10-19 06:57:02683semak imbas

How to Accurately Count the Number of Days in a Month in JavaScript?

Mengira Hari dalam Sebulan dengan JavaScript

Menentukan bilangan hari dalam sebulan dalam JavaScript adalah tugas biasa. Soalan yang dikemukakan menyerlahkan keperluan untuk penyelesaian yang cekap dan tepat.

Fungsi yang disediakan, daysInMonth, bergantung pada helah bijak untuk mengira hari dalam sebulan. Ia mencipta objek Tarikh dengan hari ditetapkan kepada 32, yang secara automatik digulung semula ke hari terakhir bulan sebelumnya. Menolak tarikh daripada 32 memberikan bilangan hari dalam bulan itu.

Walaupun pendekatan ini cekap, pendekatan ini mungkin tidak selalu tepat. Bulan lompat boleh menyebabkan fungsi mengembalikan hasil yang salah. Penyelesaian yang lebih komprehensif lebih diutamakan.

Penyelesaian yang dioptimumkan adalah berdasarkan konsep bahawa bilangan hari dalam sebulan ditentukan oleh bilangan milisaat antara hari pertama dan sifar bulan berikutnya:

<code class="javascript">function daysInMonth(month, year) {
  // Use 1 for January, 2 for February, etc.
  return new Date(year, month, 0).getDate();
}

console.log(daysInMonth(2, 1999)); // February in a non-leap year.
console.log(daysInMonth(2, 2000)); // February in a leap year.</code>

Fungsi ini menggunakan kaedah getDate() objek Date untuk mengembalikan bilangan hari dalam sebulan. Ia mengendalikan tahun lompat dan semua bulan dalam setahun dengan tepat, menyediakan penyelesaian yang boleh dipercayai dan cekap untuk menentukan bilangan hari dalam sebulan.

Atas ialah kandungan terperinci Bagaimana Mengira Bilangan Hari dalam Sebulan dengan Tepat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn