Metode setHours menggunakan jam, menit, detik, dan milidetik sebagai parameter dan mengubah objek Date sesuai dengan nilai yang diberikan
Metode setHours dapat digunakan jika Anda perlu menyetel ulang waktu tanggal ke tengah malam (00. 00. 00)
Metode mengubah komponen waktu tanggal pada tempatnya
Jika Anda perlu memformat objek Date_, Anda dapat membuat fungsi pembantu seperti di atas
Fungsi memformat tanggal sebagai YYYY-MM-DD, tetapi ini dapat disesuaikan menurut kasus penggunaan Anda
Fungsi ini menggunakan 3 metode terkait Date berikut
Tanggal. metode getFullYear - mengembalikan angka empat digit yang mewakili tahun yang sesuai dengan tanggal
Tanggal. getMonth - mengembalikan bilangan bulat antara 0 (Januari) dan 11 (Desember) dan mewakili bulan untuk tanggal tertentu. Ya, sayangnya, metode getMonth dimatikan oleh date.setHours(0, 0, 0, 0)0
Tanggal. getDate - mengembalikan bilangan bulat antara date.setHours(0, 0, 0, 0)0 dan date.setHours(0, 0, 0, 0)2 mewakili hari dalam sebulan untuk tanggal tertentu
Metode getMonth mengembalikan indeks bulan berbasis nol dari 0 hingga 11, artinya Januari adalah 0 dan Desember adalah 11
Metode getMonth berbasis nol, jadi kami menambahkan 1 ke nilai pengembaliannya
Langkah terakhir adalah menempatkan panggilan ke metode dalam array, sehingga kita dapat menggabungkannya dengan pemisah tanda hubung. Berikut beberapa contohnya
Ini memberi kita tanggal, diformat sebagai YYYY-MM-DD
Anda dapat menyusun ulang komponen tanggal dalam larik, mengubah pemisah menjadi garis miring alih-alih tanda hubung, atau mengubah fungsi dengan cara lain
Berikut adalah contoh yang memformat tanggal sebagai ________83______8
Yang harus kami lakukan untuk mengubah pemformatan adalah menyusun ulang elemen dalam array dan mengubah pemisah menjadi garis miring
Jika Anda memiliki objek Date dan ingin menyetel hanya Tanggal yang mengabaikan waktu, Anda dapat menggunakan metode setHours0 dan meneruskan string tanggal ke konstruktor setHours1
Metode toDateString mengembalikan bagian tanggal dari objek Date
String yang dikembalikan dari metode setHours_3 tidak mengandung informasi apa pun tentang waktu, sehingga waktu tanggal disetel ke setHours4
Baik Anda membuat aplikasi rutin harian, blog Anda sendiri, atau hampir semua jenis aplikasi web dinamis lainnya, Anda mungkin perlu bekerja dengan tanggal. Pada artikel ini, kita akan mempelajari cara mendapatkan tanggal saat ini dalam JavaScript, sehingga Anda dapat mengembangkan aplikasi dengan sukses. Dalam JavaScript, ada banyak pilihan untuk dipilih, tetapi kelas utama yang digunakan adalah 21.5.2021. // string interpolation 21.5.2021. // string concatenation 5. Ini memiliki banyak metode dan cara Anda menggunakannya tergantung pada format tanggal yang ingin Anda dapatkan. Setelah itu, saya akan menunjukkan kepada Anda pustaka JavaScript populer yang dapat digunakan untuk memformat waktu secara umum, dan bukan hanya tanggal
21.5.2021. // string interpolation 21.5.2021. // string concatenation 5 adalah kelas masuk dalam JavaScript ketika berbicara tentang waktu. Ada beberapa cara untuk mendapatkan waktu dan tanggal secara terperinci dari kelas ini
Menggunakan metode getDate(), getMonth() dan getFullYear()
Catatan untuk metode getDate. Hal pertama yang diperhatikan saat menggunakan pendekatan ini adalah kita menggunakan 21.5.2021. // string interpolation 21.5.2021. // string concatenation 7 dan bukan 21.5.2021. // string interpolation 21.5.2021. // string concatenation 8. Alasannya adalah bahwa metode 21.5.2021. // string interpolation 21.5.2021. // string concatenation _8 mengembalikan hari dalam seminggu, jadi karena sekarang hari Jumat saat saya menulis, metode 21.5.2021. // string interpolation 21.5.2021. // string concatenation 8 akan mengembalikan 5. Metode 21.5.2021. // string interpolation 21.5.2021. // string concatenation _7 benar-benar melakukan apa yang kita butuhkan dalam kasus ini, mengembalikan hari dari nomor bulan. Jadi bagi saya, saat ini hari dalam sebulan adalah 21 (karena sekarang 21. 05. 2021. ). Metode-metode ini mudah membingungkan, jadi saya ingin memberi tahu
Catatan untuk metode getMonth. Hal lain yang harus diperhatikan adalah indeks bulan dimulai dari 0, jadi Januari adalah 0, Februari adalah 1, dll. Pada dasarnya, saat kita mengambil nomor bulan, kita perlu menambahkan 1
Sekarang setelah kita mengatasi potensi masalah, mari membuat kode
let date = new Date() let day = date.getDate(); let month = date.getMonth()+1; let year = date.getFullYear(); let fullDate = `${day}.${month}.${year}.`; console.log(fullDate);Pada awalnya, kami membuat instance kelas let month = String(date.getMonth()+1).padStart(2, "0"); _2 dan untuk setiap bagian dari tanggal, kami menggunakan variabel untuk memecahnya dan memeriksa setiap
Kami menempatkan setiap hasil metode dalam variabel terpisah dan kemudian menggunakan interpolasi string untuk membuat tanggal yang lengkap. Interpolasi string adalah saat kita meneruskan variabel ke string; . Jika Anda tidak suka interpolasi string, cara lain adalah dengan menggabungkan (menambahkan) string bersama-sama seperti ini
let fullDate = day + "." + month + "." + year + ".";Hasil kami akan sama dalam setiap kasus
21.5.2021. // string interpolation 21.5.2021. // string concatenationKatakanlah Anda ingin menunjukkan bulan sebagai let month = String(date.getMonth()+1).padStart(2, "0"); _4 dan bukan let month = String(date.getMonth()+1).padStart(2, "0"); 5. Sayangnya kelas let month = String(date.getMonth()+1).padStart(2, "0"); _2 bawaan JavaScript tidak memiliki banyak opsi untuk memformat tanggal menjadi string seperti perpustakaan lain. Jadi dalam hal ini kita perlu melakukan pemformatan sendiri, yang dapat kita lakukan dengan beberapa metode JavaScript pada string, seperti let month = String(date.getMonth()+1).padStart(2, "0"); 7. Apa fungsinya 'pads' (menempatkan sebelum) string kita denganlet month = String(date.getMonth()+1).padStart(2, "0"); 8, hingga mencapai let month = String(date.getMonth()+1).padStart(2, "0"); 9. Jadi karena kita ingin membuat let month = String(date.getMonth()+1).padStart(2, "0"); _4 dari let month = String(date.getMonth()+1).padStart(2, "0"); 5, kita ingin mengisi string kita dengan "0" hingga mencapai panjang 2. Sebelum semua itu, kita perlu mentransmisikan 21.05.2021. 2 untuk mengetik 21.05.2021. 3. Casting secara eksplisit mengubah tipe variabel dari satu ke yang lain. Di sini kita mengubah tipe 21.05.2021. 4 menjadi tipe 21.05.2021. 3. Variabel 21.05.2021. _6 kita akan berubah menjadi
let month = String(date.getMonth()+1).padStart(2, "0"); _Ini akan mengubah format tanggal kita menjadi
21.05.2021.Menggunakan metode toJSON()
Metode sebelumnya menyisakan ruang untuk pemformatan tanggal; . Saat menggunakan let date = new Date().toJSON(); console.log(date); _0, ia mengembalikan format let date = new Date().toJSON(); console.log(date); 1 di samping format waktu, let date = new Date().toJSON(); console.log(date); 2
Mari kita pratinjau pendekatan ini
let date = new Date().toJSON(); console.log(date);Ini akan menghasilkan
2021-05-21T13:42:07.553ZAnda akan melihat keluaran yang mirip dengan ini, tetapi jelas keluaran Anda akan berbeda tergantung kapan Anda menjalankan kode. Kami melihat bahwa kami hanya memerlukan tanggal, yaitu 10 karakter pertama, jadi mari gunakan metode let date = new Date().toJSON(); console.log(date); 3 JavaScript. Metode let date = new Date().toJSON(); console.log(date); _4 memotong string dari titik let date = new Date().toJSON(); console.log(date); 5 ke titik let date = new Date().toJSON(); console.log(date); 6; . Mari kita coba
let date = new Date().toJSON().slice(0, 10);Ini akan kembali
2021-05-21Kita dapat mengiris lebih lanjut string ini, sehingga kita dapat mengatur bagian-bagiannya menjadi variabel let date = new Date().toJSON(); console.log(date); 7 dan let date = new Date().toJSON(); console.log(date); 8, tetapi itu akan berlebihan, jadi jika Anda memerlukan format yang berbeda, gunakan saja pendekatan yang berbeda
Menggunakan metode toISOString(),_ toUTCString()_, dan toLocaleDateString()
Fakta menyenangkan. let date = new Date().toJSON(); console.log(date); 9 mengembalikan hasil yang sama persis dengan let date = new Date().toJSON(); console.log(date); 0, jadi kita akan melewatkannya dan langsung menuju ke 2021-05-21T13:42:07.553Z 1
Menggunakan toUTCString()let date = new Date().toUTCString(); console.log(date);Akan memberi kita output
let fullDate = day + "." + month + "." + year + "."; _0Format ini juga menampilkan tanggal dan waktu, dengan penambahan hari dalam seminggu. Seperti yang saya katakan di bagian let date = new Date().toJSON(); console.log(date); _0, Anda dapat menguraikan hasil ini lebih lanjut, tetapi mungkin tidak perlu karena Anda memiliki pendekatan yang berbeda. Karena kita hanya mendapatkan tanggalnya, kita bisa mengiris ini. Sekarang tidak perlu casting, karena ini sudah menjadi 21.05.2021. 3
Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu
let fullDate = day + "." + month + "." + year + "."; _1Ini akan memberi kita output yang diinginkan
let fullDate = day + "." + month + "." + year + "."; _2Metode ini mengembalikan tanggal dalam format yang sesuai dengan bahasa sistem Anda. Ia bahkan memiliki opsi untuk meneruskan bahasa yang diinginkan sebagai argumen dan bahkan opsi pemformatan tanggal sederhana seperti 2021-05-21T13:42:07.553Z 4, 21.05.2021. 6, 2021-05-21T13:42:07.553Z 6, dll. Kami akan membaginya menjadi 3 contoh
Opsi bawaan
Mari kita lihat apa yang terjadi saat kita memanggil metode tanpa argumen
let fullDate = day + "." + month + "." + year + "."; _3Outputnya, bagi saya, akan menjadi
let fullDate = day + "." + month + "." + year + "."; _4Output ini tergantung pada lokal Anda, milik saya adalah AS sehingga formatnya akan menjadi format tanggal AS
Hanya meneruskan preferensi bahasa
Jika Anda ingin menentukan lokal tertentu, Anda bisa meneruskannya sebagai argumen string, seperti itu
let fullDate = day + "." + month + "." + year + "."; _52021-05-21T13:42:07.553Z _7 adalah kode lokal untuk Prancis. Anda dapat menemukan semua kode lokal di sini
Format tanggal Prancis adalah 21.05.2021. _7, jadi hasilnya adalah
let fullDate = day + "." + month + "." + year + "."; _6Melewati preferensi dan opsi bahasa
Terakhir, mari kita telusuri opsi yang memungkinkan. Hanya bulan dan hari kerja yang dapat memiliki nilai "panjang" atau "numerik". Hari dan tahun hanya boleh "numerik"
Kami akan mengecualikan 2021-05-21T13:42:07.553Z 4 karena kami hanya memerlukan tanggal. Ini harus keluar
let fullDate = day + "." + month + "." + year + "."; _8Sekarang Anda juga belajar sedikit bahasa Prancis
Menggunakan sekarang()
Metode let date = new Date().toJSON().slice(0, 10); _0 mengembalikan jumlah milidetik yang berlalu sejak 1 Januari 1970 - yang merupakan awal zaman Unix dalam pemrograman. Jika kita meneruskan jumlah milidetik ke konstruktor let month = String(date.getMonth()+1).padStart(2, "0"); 2, kita bisa mendapatkan tanggal format ISO. Mari kita coba
let fullDate = day + "." + month + "." + year + "."; _9Yang akan menghasilkan, sekali lagi, untuk saya
21.5.2021. // string interpolation 21.5.2021. // string concatenation 0Sekarang jika kita meneruskan let date = new Date().toJSON().slice(0, 10); _2 itu ke konstruktor, seperti yang disebutkan di atas, kita dapat membuat objek tanggal dengan waktu itu
21.5.2021. // string interpolation 21.5.2021. // string concatenation _1Ini akan menghasilkan
21.5.2021. // string interpolation 21.5.2021. // string concatenation _2Dan kita sudah tahu bagaimana memprosesnya, menggunakan let date = new Date().toJSON(); console.log(date); 3
Menggunakan momen. js
Ini hanyalah sebuah alternatif untuk menggunakan semua metode sebelumnya, perpustakaan yang dibuat khusus untuk tanggal dan waktu dalam JavaScript. Anda dapat mengunjungi situs web mereka di sini. Meskipun pustaka ini memiliki beberapa fitur, saya hanya akan membahas cara membuat dan melakukan pemformatan sederhana untuk sebuah tanggal. Mari kita lihat cara kerjanya
21.5.2021. // string interpolation 21.5.2021. // string concatenation _3Jika Anda tidak meneruskan apa pun ke format, Anda akan mendapatkan representasi ISO dari tanggal tersebut, namun, Anda dapat memilih format apa pun yang Anda inginkan (dan yang ditentukan dalam dokumentasi Moment)
Kode di atas akan ditampilkan
21.5.2021. // string interpolation 21.5.2021. // string concatenation _4Opsi ini bukan yang terbaik jika yang Anda cari hanyalah mengambil tanggal saat ini. Ini karena library Moment cukup besar dan akan membengkakkan kode JS Anda saat digunakan di aplikasi front-end. Di sisi lain, jika Anda memerlukan manipulasi tanggal dan waktu atau pemformatan yang lebih canggih, ini adalah perpustakaan yang bagus
Kesimpulan
Ada banyak cara untuk mengambil tanggal dalam JavaScript, Anda hanya perlu memilih salah satu yang sesuai dengan kasus penggunaan Anda. Untuk kebutuhan yang sangat sederhana, seperti membuat tanggal atau pemformatan yang sangat sederhana, maka Anda dapat menggunakan kelas let month = String(date.getMonth()+1).padStart(2, "0"); 2 bawaan. Jika Anda memerlukan sesuatu yang sedikit lebih rumit dengan tanggal dan waktu, momen. js adalah perpustakaan untuk dipilih