Melampaui kemampuan tanggal dan waktu bawaan JavaScript dengan salah satu pustaka pengganti ini.
Dukungan bawaan JavaScript untuk penanganan tanggal berguna, tetapi bisa jadi canggung untuk digunakan. Operasi kompleks seperti konversi zona waktu dan pemformatan tanggal seringkali menantang.
Untungnya, tersedia beberapa paket yang membuat bekerja dengan tanggal dan waktu dalam JavaScript tidak terlalu menegangkan. Di sini, Anda akan belajar tentang beberapa paket ini dan bagaimana Anda bisa mulai mengerjakan paket-paket ini.
Ketika datang untuk bekerja dengan tanggal dan waktu, objek Tanggal JavaScript asli memiliki fungsi terbatas.
Moment.js, sebuah pustaka JavaScript, memperkenalkan banyak fitur yang tidak tersedia di objek Tanggal asli. Akibatnya, itu menjadi perpustakaan masuk untuk bekerja dengan tanggal dan waktu.
Untuk menginstal Moment.js dengan npm, jalankan perintah berikut dari direktori proyek Anda:
npm Install momen
Setelah penginstalan, Anda dapat mengimpor Moment.js ke dalam proyek Anda dan melakukan operasi dengan pustaka:
const momen = memerlukan('momen');
const sekarang = momen();
const nowString = sekarang.format('YYYY-MM-DD HH: mm: ss');
menghibur.catatan(`Tanggal dan waktu saat ini adalah ${nowString}`);
Cuplikan kode ini mengimpor pustaka Moment.js dan membuat objek momen menggunakan tanggal dan waktu saat ini dengan momen() fungsi. Ini kemudian menunjukkan cara memformat objek tanggal yang dibuat sebagai string dengan format() metode, yang menggunakan format tanggal/waktu sebagai argumennya.
Anda juga dapat menggunakan perpustakaan ini untuk menambah dan mengurangi interval waktu:
const addTenMinutes = momen().tambahkan(10, 'menit');
menghibur.catatan(`${addTenMinutes.format('h: mma')}`);
const kurangiDuaHari = momen().kurangi(2, 'hari');
menghibur.catatan(`${subtractTwoDays.format('dddd, MMMM Lakukan YYYY')}`);
Program mencatat dua variabel ke konsol, dalam format yang berbeda. Pertama, addTenMinutes, menyimpan hasil penambahan 10 menit ke tanggal dan waktu saat ini. Kedua, kurangiDuaHari, memiliki nilai tanggal dan waktu saat ini dengan dua hari dikurangi darinya.
Moment.js dapat melakukan operasi lain seperti memeriksa tahun kabisat dan mengonversi dari satu format tanggal ke format lainnya.
Penting untuk diperhatikan bahwa Moment.js tidak lagi dikelola oleh tim pengembang intinya. Pengembang menyarankan untuk menggunakan alternatif seperti Luxon.js.
Luxon.js adalah perpustakaan JavaScript yang kuat dan lebih modern untuk bekerja dengan tanggal. Sebuah alternatif untuk Moment.js, ini mengatasi keterbatasan perpustakaan lama seperti mutabilitas.
Anda dapat menginstal Luxon dengan npm dan kemudian mengimpornya Tanggal Waktu kelas dalam proyek Node.js Anda menggunakan memerlukan() fungsi:
const { TanggalWaktu } = memerlukan('mewah');
Di Luxon, objek DateTime mengacu pada instance waktu yang mencapai milidetik.
Anda dapat membuat yang baru Tanggal Waktu objek dan akses komponennya, seperti tahun, bulan, menit, dan detik:
const sekarang = TanggalWaktu.sekarang();
const tahun = sekarang.tahun;
const menit = sekarang.menit;
const detik = sekarang.detik;
Kode ini menciptakan yang baru Tanggal Waktu objek yang mewakili tanggal dan waktu saat ini menggunakan Sekarang() metode. Itu kemudian mengakses komponen tanggal itu menggunakan tahun, menit, Dan Kedua properti.
Perbedaan utama antara Luxon.js dan Moment.js adalah karakternya yang tidak dapat diubah. Semua objek DateTime tidak dapat diubah di Luxon, artinya Anda tidak dapat mengubah properti DateTime. Sebagai gantinya, Anda dapat membuat instance DateTime baru dari yang sudah ada.
Misalnya:
const sekarang = TanggalWaktu.sekarang();
const besok = sekarang.plus({ hari: 1 });
Kode ini menciptakan yang baru Tanggal Waktu objek bernama besok berdasarkan Sekarang objek, dengan menggunakan plus metode, memberikannya nilai 1 hari sebagai argumen. Metode plus membuat objek DateTime baru dengan jumlah hari yang ditentukan ditambahkan ke objek asli.
Keuntungan lain dari Luxon.js adalah dukungan zona waktunya yang andal, yang penting untuk bekerja dengan tanggal dan waktu dalam aplikasi web modern. Perpustakaan menggunakan API Internasionalisasi di browser modern untuk memberikan dukungan zona waktu yang akurat.
Namun, salah satu kelemahan Luxon.js adalah sumber daya komunitasnya yang terbatas.
Date-fns adalah perpustakaan JavaScript yang sangat ringan yang dirancang untuk bekerja dengan tanggal dan waktu. Itu dibangun di atas Objek JavaScript asli.
Penggunaan tanggal-fns teknik pemrograman fungsional dan menyertakan fitur yang tidak dapat diubah, yang mempermudah bekerja dengan tanggal dan mengurangi kemungkinan bug dalam kode Anda.
Setelah menginstal date-fns dengan npm, impor paket ke dalam program Anda menggunakan fungsi require:
const { format, addDays } = memerlukan('kencan-fns');
Tanggal-fns bersifat modular. Ini berisi banyak fungsi yang dapat Anda akses dengan mendestrukturisasi paket, seperti yang ditunjukkan pada blok kode di atas. Kode hanya mengimpor fungsi format dan addDays dari pustaka date-fns.
Berikut adalah contoh cara menggunakan kedua fungsi tersebut:
const hari ini = baruTanggal();
const formattedDate = format (hari ini, 'yyyy-MM-dd');
menghibur.log (diformatTanggal);
const besok = format (addDays (hari ini, 1), 'yyyy-MM-dd');
menghibur.log (besok);
Program ini mendemonstrasikan penggunaan pustaka tanggal-fns dalam JavaScript untuk memformat dan memanipulasi tanggal.
Itu menciptakan yang baru Tanggal objek yang mewakili tanggal saat ini. Ini memformat tanggal saat ini menggunakan format fungsi dari perpustakaan tanggal-fns.
Ini kemudian menggunakan addDays berfungsi untuk membuat objek Tanggal baru yang mewakili tanggal besok, memformatnya menggunakan format fungsi, dan mencatat tanggal saat ini dan tanggal besok ke konsol di "yyyy-MM-dd" format.
Kelemahan menggunakan Date-fns adalah tidak memberikan dukungan zona waktu. Sebagai gantinya, ini menggunakan pustaka terpisah untuk bekerja dengan zona waktu menggunakan fungsi pembantu.
Day.js, perpustakaan lain yang sangat ringan, adalah pilihan yang baik jika Anda mencari alternatif Moment.js yang tidak dapat diubah, lebih kecil, dan lebih cepat.
Anda dapat menginstal Day.js sebagai paket di proyek JavaScript Anda dengan menjalankan perintah npm berikut:
npm Install dayjs
Untuk mengimpor Day.js ke proyek Anda setelah penginstalan, Anda dapat menggunakan kode berikut:
const hari js = memerlukan('hari')
Berikut adalah beberapa fungsi dan metode dasar yang tersedia di Day.js
const sekarang = dayjs();
const tanggal = harijs('2023-03-23', 'YYYY-MM-DD');
const bulan = tanggal.bulan();
const tanggalformat = tanggal.format('MMMMD, YYYY');
const minggu depan = tanggal.tambahkan(1, 'pekan');
Kode di atas membuat objek Day.js baru yang mewakili tanggal dan waktu saat ini, mem-parsing string tanggal dengan format khusus, dan mendapatkan bulan dari tanggal variabel. Itu juga menunjukkan cara memformat dan menambahkan ke instance tanggal.
Seperti Date-fns, Day.js tidak dapat memberikan dukungan zona waktu sendiri. Day.js menggunakan sistem plugin, sehingga membingungkan untuk digunakan.
Dari semua paket yang tercakup, Day.js adalah yang paling mirip dengan Moment.js. Ini membuatnya lebih mudah untuk beralih di antara keduanya jika Anda perlu.
Memilih Perpustakaan yang Tepat untuk Aplikasi Anda
Memilih perpustakaan tanggal dan waktu yang tepat untuk aplikasi JavaScript Anda adalah keputusan penting yang dapat berdampak besar pada kualitas dan pemeliharaan kode Anda.
Setiap perpustakaan yang dibahas di sini memiliki kelebihan dan kekurangannya masing-masing, jadi penting untuk mengevaluasi kebutuhan Anda dengan cermat sebelum membuat keputusan.