Saya menggunakan datepicker yang memberikan tanggal dalam format Sun Jul 7 00:00:00 EDT 2013. Meskipun bulan mengatakan Juli, jika saya melakukan getMonth, saya akan memberi saya bulan sebelumnya.
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth());//gives 6 instead of 7
Apa yang saya lakukan salah?
javascript
date
pengembang747
sumber
sumber
getYear()
!! ;-)Jawaban:
Karena getmonth () mulai dari 0. Anda mungkin ingin
d1.getMonth() + 1
mencapai apa yang Anda inginkan.sumber
d1.getMonth() < 12 ? d1.getMonth() + 1 : 1
- jika tidak Desember akan menjadi 13, bukan?getMonth()
fungsi berbasis indeks nol. Anda perlu melakukand1.getMonth() + 1
Baru-baru ini saya menggunakan perpustakaan Moment.js dan tidak pernah melihat ke belakang. Cobalah!
sumber
Anggap saja Anda menggunakan variabel Anda
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
Bulan membutuhkan +1 agar akurat, mulai dihitung pada 0
d1.getMonth() + 1 // month
Sebaliknya .... metode ini TIDAK perlu ditambah 1
d1.getSeconds() // seconds d1.getMinutes() // minutes d1.getDate() // date
Dan perhatikan itu
.getDate()
BUKAN.getDay()
d1.getDay() // day of the week as a
Semoga ini membantu
Saya menduga metode ini kurang konsisten karena alasan historis
sumber
const d = new Date(); const time = d.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', second:'numeric', hour12: true }); const date = d.toLocaleString('en-US', { day: 'numeric', month: 'numeric', year:'numeric' });
ATAU
const full_date = new Date().toLocaleDateString(); //Date String const full_time = new Date().toLocaleTimeString(); // Time String
Keluaran
Tanggal =
8/13/2020
Waktu =
12:06:13 AM
sumber