Cari dalam JavaScript sama ada 1 Januari adalah hari Ahad dalam julat tahun?

王林
Lepaskan: 2023-09-08 11:45:04
ke hadapan
1397 orang telah melayarinya

在 JavaScript 中查找年份范围内的 1 月 1 日是星期日?

Sentiasa penting untuk mengetahui bila 1 Januari jatuh pada hari Ahad selama ini. Maklumat ini boleh digunakan untuk pelbagai tujuan, seperti menjadualkan acara, mengurus projek, dsb. Tujuan artikel ini adalah untuk membantu anda mencari dalam JavaScript tarikh dalam julat tahun di mana 1 Januari jatuh pada hari Ahad.

Algoritma

Algoritma untuk mencari siri tahun di mana 1 Januari jatuh pada hari Ahad melibatkan beberapa langkah. Langkah pertama ialah mengira bilangan hari antara tahun semasa dan tahun di mana anda ingin mencari 1 Januari sebagai hari Ahad. Langkah kedua ialah mencari hari dalam minggu yang jatuh pada 1 Januari tahun semasa, dan langkah ketiga ialah mencari bilangan hari Ahad antara 1 Januari dan 1 Januari tahun semasa, dalam julat tahun.

Kepentingan algoritma ini terletak pada kesederhanaan dan kecekapannya. Menggunakan algoritma ini, anda boleh mencari julat tahun dengan cepat dan mudah di mana 1 Januari jatuh pada hari Ahad.

Kaedah 1

Kaedah ini menggunakan gelung for untuk mengulang julat tahun dari tahun permulaan hingga tahun berakhir, dan untuk setiap tahun, objek Tarikh baharu dicipta yang mengandungi tahun, bulan (indeks berasaskan 0, jadi Bulan ialah 0) dan hari(1) diambil sebagai parameter. Kemudian gunakan kaedah getDay() untuk mendapatkan semula hari dalam seminggu untuk 1 Januari tahun semasa (indeks berasaskan 0, jadi Ahad ialah 0). Jika hari dalam seminggu ialah 0, tahun itu ditambahkan pada tatasusunan Ahad pertama. Akhirnya, tatasusunan Ahad pertama dikembalikan sebagai hasilnya.

function findFirstSunday(startYear, endYear) {
   let firstSunday = [];
   for (let year = startYear; year <= endYear; year++) {
      let date = new Date(year, 0, 1);
      if (date.getDay() === 0) {	
         firstSunday.push(year);
      }
   }
   return firstSunday;
}
Salin selepas log masuk

Contoh 1

function findFirstSunday(startYear, endYear) {
   let firstSunday = [];
   for (let year = startYear; year <= endYear; year++) {
      let date = new Date(year, 0, 1);
      if (date.getDay() === 0) {	
         firstSunday.push(year);
      }
   }
   return firstSunday;
}
let startYear = 2000;
let endYear = 2050;
let firstSunday = findFirstSunday(startYear, endYear);
console.log(firstSunday);
Salin selepas log masuk

Kaedah 2

Kaedah ini serupa dengan kaedah pertama, tetapi dengan pengubahsuaian kecil. Pembolehubah dayOfWeek dikira dengan menambah 6 pada hasil getDay() dan kemudian membahagikan dengan 7 menggunakan operator modulo (%) untuk mencari bakinya. Ini memastikan bahawa hari dalam seminggu sentiasa dalam julat 0 hingga 6, dengan 0 mewakili Ahad. Jika pembolehubah dayOfWeek bersamaan dengan 0, tahun itu ditambahkan pada tatasusunan firstSunday.

function findFirstSunday(startYear, endYear) {
   let firstSunday = [];
   for (let year = startYear; year <= endYear; year++) {
      let dayOfWeek = (new Date(year, 0, 1).getDay() + 6) % 7;
      if (dayOfWeek === 0) {
         firstSunday.push(year);
      }
   }
   return firstSunday;
}
Salin selepas log masuk

Contoh 2

function findFirstSunday(startYear, endYear) {
   let firstSunday = [];
   for (let year = startYear; year <= endYear; year++) {
      let dayOfWeek = (new Date(year, 0, 1).getDay() + 6) % 7;
      if (dayOfWeek === 0) {
         firstSunday.push(year);
      }
   }
   return firstSunday;
}
let startYear = 1990;
let endYear = 2020;
let firstSunday = findFirstSunday(startYear, endYear);
console.log(firstSunday);
Salin selepas log masuk

KESIMPULAN

Ringkasnya, mencari 1 Januari pada hari Ahad dalam julat tahun adalah tugas mudah dalam JavaScript menggunakan algoritma yang dibincangkan dalam artikel ini. Kami memperkenalkan dua pendekatan berbeza dengan kod dan penjelasan, dan juga menyediakan dua contoh yang berfungsi untuk menunjukkan penggunaan algoritma. Dengan menggunakan algoritma ini, anda boleh mencari julat tahun dengan mudah di mana 1 Januari jatuh pada hari Ahad, yang berguna untuk pelbagai tujuan.

Atas ialah kandungan terperinci Cari dalam JavaScript sama ada 1 Januari adalah hari Ahad dalam julat tahun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!