Jika Anda memiliki tanggal dalam JavaScript dan perlu mengurangi (atau menambahkan) beberapa hari ke tanggal tersebut, Anda akan ingin menggunakan metode setDate() bawaan JavaScript. Ini akan mengatur hari dalam sebulan untuk tanggal tertentu
NOTE: setDate() is based on local time. If you want to work with UTC time then use setUTCDate()Jadi, jika Anda ingin mengatur hari dalam sebulan menjadi tanggal 15 bulan ini, Anda akan mulai dengan tanggal hari ini dan mengubah tanggal seperti itu
var d = new Date(); d.setDate(15); // Sun Aug 15 2021 16:49:25 GMT-0500 (Central Daylight Time)_Menggunakan pendekatan ini dikombinasikan dengan metode getDate() (yang mengembalikan tanggal bulan ini untuk tanggal tertentu), Anda dapat mengurangi atau menambahkan hari. Jika Anda ingin mendapatkan tanggal Hari Ini - 5 hari maka Anda bisa menggunakan
Untuk mendapatkan perbedaan antara dua tanggal di bulan yang sama, dapatkan hari bulan menggunakan const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 5 dan kurangi seperti yang ditunjukkan di bawah ini
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10
Ketika operan sisi kanan tanggal lebih jauh dari sisi kiri, maka hasilnya akan berupa angka negatif
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/28/2021"); // 28th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // -8 _
Jika Anda tidak ingin hasilnya berupa angka negatif, maka Anda perlu mengonversi nilai yang dikembalikan menggunakan metode const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 1, yang mengembalikan nilai angka absolut
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/28/2021"); // 28th April 2021 console.log(Math.abs(dateOne.getDate() - dateTwo.getDate())); // 8 _
Tetapi menggunakan metode const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 _5 akan memberikan hasil yang salah ketika tanggal berada di bulan yang berbeda karena metode tersebut hanya mengembalikan hari dalam bulan tersebut
Dalam contoh berikut, perbedaan antara const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 _3 dan const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 4 dihitung sebagai const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 5 meskipun hasil yang benar seharusnya const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 6 hari
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("03/10/2021"); // 10th March 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10
Untuk menghitung selisih antara dua tanggal pada bulan yang berbeda, Anda harus menggunakan metode const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 7
Kurangi tanggal menggunakan metode getTime()
Metode const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Subtract 40 days from the Date object date.setDate(date.getDate() - 40); console.log(date); // 11th Mar 2021 7 bawaan mengonversi nilai objek const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 4 Anda menjadi jumlah milidetik sejak const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 0
Anda dapat menggunakan nilai milidetik yang dikembalikan untuk mengurangi dua tanggal yang berbeda seperti yang ditunjukkan di bawah ini
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("03/10/2021"); // 10th March 2021 const difference = dateOne.getTime() - dateTwo.getTime(); console.log(difference); // 3542400000
Kemudian, Anda dapat menggunakan nilai const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 _1 yang dikembalikan dan mengubahnya menjadi bulan, hari, menit, atau detik tergantung pada pengukuran yang diperlukan oleh proyek Anda
Untuk mengonversi const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 _1 dari milidetik ke detik, cukup bagi const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 1 dengan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 4
const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("03/10/2021"); // 10th March 2021 const difference = dateOne.getTime() - dateTwo.getTime(); console.log(difference / 1000); // 3542400
Untuk mengubah const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 _1 menjadi menit, Anda perlu membaginya dengan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 4 lalu membaginya lagi dengan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 7 karena satu menit sama dengan enam puluh detik
const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 0
Untuk menemukan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 _1 dalam jam, Anda perlu membagi const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 1 lebih lanjut dengan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 7 karena satu jam sama dengan enam puluh menit
const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 1
Terakhir, untuk menghitung const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/10/2021"); // 10th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // 10 _1 dalam hari, bagilah dengan const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/28/2021"); // 28th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // -8 2 karena satu hari sama dengan dua puluh empat jam
const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 2
Dan begitulah cara Anda mengurangi tanggal dalam JavaScript
Mengurangkan tanggal tanpa Daylight Saving Time
Selama periode Daylight Saving Time antara Maret dan November, waktunya dimajukan satu jam
Untuk menghitung perbedaan tanggal dengan benar dan mengabaikan Daylight Saving Time, Anda perlu mengubah tanggal menjadi UTC menggunakan metode const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/28/2021"); // 28th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // -8 3
Untuk menggunakan metode const dateOne = new Date("04/20/2021"); // 20th April 2021 const dateTwo = new Date("04/28/2021"); // 28th April 2021 console.log(dateOne.getDate() - dateTwo.getDate()); // -8 _3, Anda harus memasukkan tahun, bulan, dan hari ke metode
Lihatlah contoh berikut
const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 _3
Dan dengan itu, DST akan diabaikan selama perhitungan
Sekarang Anda telah mempelajari cara mengurangi hari dari objek const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 4 JavaScript, serta cara mendapatkan perbedaan hari antara dua objek const date = new Date("04/20/2021"); // 20th April 2021 // 👇 Set the day to 5th date.setDate(5); console.log(date); // 5th April 2021 4