Saya memiliki objek Tanggal saat ini yang perlu ditambah satu hari menggunakan objek Tanggal JavaScript. Saya memiliki kode berikut ini:
var ds = stringFormat("{day} {date} {month} {year}", {
day: companyname.i18n.translate("day", language)[date.getUTCDay()],
date: date.getUTCDate(),
month: companyname.i18n.translate("month", language)[date.getUTCMonth()],
year: date.getUTCFullYear()
});
Bagaimana saya bisa menambahkan satu hari ke dalamnya?
Saya telah menambahkan +1 ke getUTCDay()
dan getUTCDate()
tetapi tidak menampilkan 'Minggu' untuk day
, yang saya perkirakan akan terjadi.
javascript
panik panik
sumber
sumber
date: (date.getUTCDate()+1)
bekerja (bekerja untuk saya)? Ada kemungkinan bahwa ada konflik penamaan dengandate
(sebagai Date () - Object dan sebagai Object-Key. Sudahkah Anda mencoba memanggil Date () - Object berbeda?7 Apr
Anda butuhkan (apa itu 'tambahkan hari berikutnya' untuk saya), ini adalahSunday
. Ingatlah untuk menambahkan+1
keduanya dalamday:
dandate:
(atau, seperti yang disebutkan dalam jawaban saat ini, sebelumnya).Jawaban:
Untuk menambahkan satu hari ke objek tanggal:
var date = new Date(); // add a day date.setDate(date.getDate() + 1);
sumber
var a = new Date("2013-03-10T00:00:00.000Z");
a.setDate(a.getDate() + 1);
a.toISOString();
adalah"2013-03-10T23:00:00.000Z"
. Ini adalah kasus halus di mana fungsi di atas tidak berfungsi untuk saya.a.setUTCDate(a.getUTCDate() + 1);
<- yang sesuai dengan tanggal Zulu.Menurut pendapat saya, cara terbaik adalah dengan menambahkan satu hari penuh dalam milidetik, tergantung pada bagaimana Anda memfaktorkan kode Anda, itu dapat mengacaukan jika Anda pada hari terakhir bulan itu.
misalnya 28 Feb atau 31 Maret.
Berikut adalah contoh bagaimana saya melakukannya:
var current = new Date(); //'Mar 11 2015' current.getTime() = 1426060964567 var followingDay = new Date(current.getTime() + 86400000); // + 1 day in ms followingDay.toLocaleDateString();
imo ini menjamin akurasi
berikut adalah contoh lain saya Tidak suka itu bisa bekerja untuk Anda tetapi tidak sebersih dosis di atas
var today = new Date('12/31/2015'); var tomorrow = new Date(today); tomorrow.setDate(today.getDate()+1); tomorrow.toLocaleDateString();
imho ini === 'POOP'
Jadi beberapa dari Anda pernah mengeluh tentang pendekatan milidetik saya karena penghematan waktu siang hari. Jadi saya akan menampar ini. Pertama, Beberapa negara dan negara bagian tidak memiliki waktu penghematan siang hari. Penambahan Kedua tepat 24 jam adalah satu hari penuh. Jika dosis nomor tanggal tidak berubah setahun sekali tetapi kemudian diperbaiki 6 bulan kemudian saya tidak melihat masalah di sana. Tetapi untuk tujuan menjadi pasti dan harus berurusan dengan membagikan Tanggal jahat () saya telah memikirkan ini dan sekarang benar-benar membenci Tanggal. Jadi ini Pendekatan baru saya
var dd = new Date(); // or any date and time you care about var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') ); // ["2016", "07", "04", "00", "17", "58.849Z"] at Z
Sekarang untuk bagian yang menyenangkan!
var date = { day: dateArray[2], month: dateArray[1], year: dateArray[0], hour: dateArray[3], minutes: dateArray[4], seconds:dateArray[5].split('.')[0], milliseconds: dateArray[5].split('.')[1].replace('Z','') }
sekarang kami memiliki Objek Tanggal Internasional Resmi yang Valid dengan jelas tertulis di meridian Zulu. Sekarang untuk mengubah tanggal
dd.setDate(dd.getDate()+1); // this gives you one full calendar date forward tomorrow.setDate(dd.getTime() + 86400000);// this gives your 24 hours into the future. do what you want with it.
sumber
var dte = Date.parse('2015-11-01'); console.log(dte); dte.setTime(dte.getTime() + 86400000 ); console.log(dte);
Jika Anda ingin menambahkan satu hari (24 jam) ke tanggal waktu saat ini, Anda dapat menambahkan milidetik seperti ini:
new Date(Date.now() + ( 3600 * 1000 * 24))
sumber
int days = 1; var newDate = new Date(Date.now() + days*24*60*60*1000);
CodePen
var days = 2; var newDate = new Date(Date.now()+days*24*60*60*1000); document.write('Today: <em>'); document.write(new Date()); document.write('</em><br/> New: <strong>'); document.write(newDate);
sumber
Terinspirasi oleh jpmottin dalam pertanyaan ini , inilah kode satu barisnya:
var dateStr = '2019-01-01'; var days = 1; var result = new Date(new Date(dateStr).setDate(new Date(dateStr).getDate() + days)); document.write('Date: ', result); // Wed Jan 02 2019 09:00:00 GMT+0900 (Japan Standard Time) document.write('<br />'); document.write('Trimmed Date: ', result.toISOString().substr(0, 10)); // 2019-01-02
Semoga ini membantu
sumber
currentDay = '2019-12-06'; currentDay = new Date(currentDay).add(Date.DAY, +1).format('Y-m-d');
sumber