mata utama
Apa itu momen.js?
momen.js adalah pisau tentera Swiss yang digunakan untuk mengendalikan tarikh dan masa JavaScript. Ia membolehkan anda untuk menghuraikan, mengesahkan, mengendalikan dan memaparkan tarikh dan masa menggunakan API yang bersih dan ringkas.Artikel ini akan menunjukkan kepada anda bagaimana untuk memulakan dengan momen.js dan menunjukkan beberapa kes penggunaannya yang biasa.
Amaran: Pengguna baru sila gunakan tarikh-fns sebaliknya
Sila ambil perhatian bahawa bermula dari September 2020, kami mengesyorkan bahawa pengguna yang ingin melaksanakan perpustakaan tarikh menggunakan tarikh-FNS sebaliknya.fungsi momen.js terlalu besar berbanding saiznya, dan alat pemaju Chrome kini secara aktif mengesyorkan untuk tidak menggunakannya sebagai sebahagian daripada ujian prestasi metrik web teras. Oleh itu, menurut Staf Penyelenggaraan Momen.js, projek itu dalam mod penyelenggaraan dan tiada pembangunan fungsional baru akan dijalankan.
➤ Belajar Tarikh-FNS: Perpustakaan Tarikh JavaScript ringan
pemula moment.js
momen.js boleh dimuat turun secara percuma dari laman utama projek. Momen.js boleh dijalankan dalam pelayar dan aplikasi nod. Untuk menggunakannya dalam nod, pasang modul menggunakan arahan berikut:
Kemudian, hanya memerlukan () dan gunakannya dalam aplikasi anda seperti ini:
npm install moment
untuk menjalankan momen.js dalam penyemak imbas anda, gunakan
const moment = require('moment'); const today = moment(); console.log(today.format()); // 2020-01-09T15:45:51+01:00
</pre>
<p>
</body>
</html>
pemformatan tarikh
Pada masa lalu, saya teringat menukarkan rentetan tarikh ke dalam objek tarikh, mendapatkan satu serpihan data, dan kemudian melakukan penyambungan rentetan. Moment.js memudahkan proses menukar tarikh ke mana -mana format tertentu. Format Tarikh Menukar Menggunakan Momen adalah mudah, seperti yang ditunjukkan dalam contoh berikut:
moment().format('YYYY-MM-DD');
Momen Calling () akan memberi kita tarikh dan masa semasa, manakala format () akan mengubahnya ke format yang ditentukan. Contoh ini format tarikh untuk tahun empat digit diikuti dengan tanda hubung diikuti oleh bulan dua angka, satu lagi tanda hubung dan tarikh dua angka.
Lihat contoh pada codepen: tarikh format menggunakan momen.js
Petua: Cuba bereksperimen dengan format tarikh lain yang disenaraikan dalam dokumentasi projek.
Pengesahan tarikh
momen.js sangat memudahkan tugas yang menjengkelkan lain: pengesahan tarikh. Untuk melakukan pengesahan, lulus rentetan tarikh ke objek masa dan format tarikh yang dikehendaki dan hubungi kaedah isvalid (). Kembali benar jika tarikh itu sah, jika tidak, pulangan palsu.
npm install moment
const moment = require('moment'); const today = moment(); console.log(today.format()); // 2020-01-09T15:45:51+01:00
moment().format('YYYY-MM-DD');
Lihat contoh pada codepen: semak tarikh kesahihan menggunakan momen.js
momen () mempunyai banyak bendera berguna lain dalam objek yang dikembalikan:
Tarikh operasi
Terdapat pelbagai cara untuk mengendalikan objek saat. Sebagai contoh, anda boleh menambah atau menolak hari, bulan, tahun, dll. Ini dicapai melalui kaedah ADD () dan tolak (). Contoh berikut menunjukkan cara menambah tujuh hari, bulan, atau minggu ke tarikh semasa.
console.log(moment("2020-01-01", "YYYY-MM-DD").isValid()); // true console.log(moment("not-a-date", "YYYY-MM-DD").isValid()); // false
console.log( moment("2019 was a great year because I got married", "YYYY-MM-DD").isValid() ); // 返回 true,因为 2019 与 YYYY 匹配
console.log( moment("2019 was a great year because I got married", "YYYY-MM-DD", true).isValid() ); // false
masa ke masa kini
Satu lagi tugas biasa ialah menentukan berapa banyak masa yang wujud antara dua tarikh. Untuk mengira masa dari tarikh semasa, momen.js menggunakan kaedah yang dinamakan darinow (). Inilah cara untuk memeriksa berapa banyak masa yang telah berlalu sejak awal dekad:
moment().add(7, 'days'); // 将 7 天添加到当前日期 moment().add(7, 'months'); // 将 7 个月添加到当前日期 moment().add(7, 'years'); // 将 7 年添加到当前日期
moment().subtract(7, 'days'); // 从当前日期减去 7 天 moment().subtract(7, 'months'); // 从当前日期减去 7 个月 moment().subtract(7, 'years'); // 从当前日期减去 7 年
const today = moment(); const nextWeek = today.add(7, 'days'); console.log(nextWeek.format('dddd Do MMMM, YYYY')); // 星期四 1月 16日, 2020
Lihat contoh pada codepen: masa dari tarikh lain menggunakan momen.js
Kirakan perbezaan antara tarikh
momen.js menyediakan kaedah untuk mengira perbezaan antara dua tarikh. Secara lalai, perbezaannya dikira dalam milisaat, tetapi ia juga boleh dikembalikan pada hari, bulan, tahun, dll. Untuk mengira perbezaan, hubungi kaedah diff (). Kaedah ini mengambil tarikh sebagai parameter pertama. Unit masa boleh ditentukan menggunakan parameter kedua pilihan. Jika parameter ini tidak termasuk, milisaat digunakan. Contoh dan demonstrasi berikut menggambarkan cara menggunakan diff ().
npm install moment
Lihat contoh pada codepen: Kirakan perbezaan antara tarikh menggunakan momen.js
pertanyaan tarikh
momen.js juga menyediakan pelbagai kaedah perbandingan tarikh. Kaedah ini termasuk isbefore (), isAfter (), dan issame (), yang, seperti namanya, mengembalikan nilai boolean yang menunjukkan sama ada tarikh lebih awal, kemudian, atau sama dengan tarikh lain. Contoh berikut menggunakan isAfter ():
const moment = require('moment'); const today = moment(); console.log(today.format()); // 2020-01-09T15:45:51+01:00
Terdapat juga kaedah isleapyear () yang digunakan untuk memeriksa tahun lompatan.
moment().format('YYYY-MM-DD');
Sokongan Bahasa Antarabangsa
momen.js menyediakan sokongan antarabangsa yang kuat. Ia membolehkan anda memberikan bahasa global atau menetapkan bahasa untuk objek momen tertentu. Secara lalai, ia menyokong bahasa Inggeris. Jika anda ingin menyokong mana -mana bahasa lain, berikan nilai utama untuk bahasa tertentu ke momen.locale. Contoh pendek berikut yang dikutip dari dokumentasi Moment.js menunjukkan cara menambah sokongan untuk bahasa Perancis.
console.log(moment("2020-01-01", "YYYY-MM-DD").isValid()); // true console.log(moment("not-a-date", "YYYY-MM-DD").isValid()); // false
Lihat contoh pada codepen: pengantarabangsaan dengan momen.js
Mengapa momen mungkin tidak sesuai
momen.js juga raksasa, walaupun ia adalah perpustakaan tarikh dan masa yang sangat baik. Sebagai contoh, jika anda menggunakannya dengan Webpack, hanya satu yang tidak bersalah require('moment');
sudah cukup untuk memastikan semua penyetempatan berikut. Ini akan meningkatkan saiz pakej anda dan anda perlu menggunakan plugin untuk mengurangkannya.
Ia juga mempunyai banyak ciri, tetapi berbanding perpustakaan seperti Lodash, ia tidak membolehkan anda memilih ciri yang anda inginkan. Sebaliknya, anda perlu memuatkan seluruh perpustakaan.
Satu lagi aduan umum ialah objek momen boleh berubah. Ini boleh mengelirukan pemaju. Pertimbangkannya:
console.log( moment("2019 was a great year because I got married", "YYYY-MM-DD").isValid() ); // 返回 true,因为 2019 与 YYYY 匹配
Apa yang anda harapkan konsol untuk output? Malangnya, jawapannya adalah "7 hari kemudian" (bukannya "beberapa saat yang lalu") kerana kod today.add(7, 'days')
mengubah objek saat, menetapkannya selama tujuh hari yang akan datang.
Ini boleh dielakkan dengan mengkloning objek masa sebelum sebarang pengiraan tarikh dilakukan, tetapi apabila anda ingat untuk berbuat demikian, anda mungkin menghabiskan sedikit masa sudah debugging.
console.log( moment("2019 was a great year because I got married", "YYYY-MM-DD", true).isValid() ); // false
Bagi mereka yang mencari alternatif yang lebih ringan, pertimbangkan untuk menggunakan tarikh-FNS. Tarikh-FNS tidak berubah, ia sentiasa mengembalikan tarikh baru dan bukannya menukar tarikh yang anda lalui. Ia mempunyai API yang mudah, adalah sahabat yang sempurna untuk webpack, dan gaya satu fungsinya setiap fail membolehkan anda memilih hanya apa yang anda mahukan.
Jika anda ingin mengetahui lebih lanjut, baca: Pengenalan kepada tarikh -FNS - Perpustakaan tarikh JavaScript ringan
Kesimpulan
momen.js sememangnya perpustakaan hebat yang memudahkan operasi dan pengesahan yang berkaitan dengan tarikh dan masa. Dalam artikel ini, kami menyerlahkan beberapa ciri momen.js yang membantu menghuraikan, mengesahkan, dan mengendalikan tarikh dan masa dalam pelayar dan aplikasi Node.js. Momen.js juga menyediakan banyak plugin berguna. Anda boleh menemui banyak plugin seperti kalendar ISO, kalendar Jalaali, dan banyak lagi pada halaman plugin rasmi. Untuk maklumat lanjut mengenai momen.js, lihat dokumentasi untuk perpustakaan ini.
FAQs Mengenai moment.js
momen.js adalah perpustakaan JavaScript untuk mengendalikan tarikh dan masa yang boleh digunakan dalam projek anda melalui NPM atau termasuk dari laman web momen.js. Anda kemudian boleh mengimportnya ke dalam kod anda menggunakan sintaks modul Commonjs atau ES6. Dengan momen.js, anda boleh menghuraikan tarikh dengan menyediakan rentetan tarikh dan rentetan format, tarikh format dengan token yang telah ditetapkan atau format tersuai, memanipulasi tarikh dengan menambah atau menolak masa, dan memaparkan masa relatif (mis., "2 jam yang lalu"). Di samping itu, momen.js menyokong penyetempatan untuk memaparkan tarikh dalam bahasa dan format yang berbeza, dan menyediakan keupayaan untuk mengendalikan zon masa dan penukaran. Walau bagaimanapun, sila ambil perhatian bahawa sejak September 2020, momen.js tidak lagi diselenggarakan secara aktif dan disyorkan untuk mempertimbangkan tarikh moden dan perpustakaan masa dalam projek baru, seperti tarikh-FNS atau objek tarikh JavaScript asli dengan API Intl.DateTimeFormat, kerana Mereka menyediakan prestasi yang lebih baik dan pembangunan yang agresif.
Dalam momen.js, anda boleh menggunakan kaedah toisoString () untuk memformat tarikh dan masa ke dalam format ISO 8601. Format ISO 8601 mewakili maklumat tarikh dan masa secara standard.
Untuk menukar objek momen.js ke objek tarikh JavaScript, anda boleh menggunakan kaedah .tode () yang disediakan oleh momen.js. Kaedah .tode () mengembalikan objek tarikh JavaScript yang mewakili tarikh dan masa yang sama sebagai objek momen.js asal. Transformasi ini berguna apabila anda perlu menggunakan objek tarikh JavaScript standard atau perpustakaan atau API yang menggunakan objek tarikh yang dijangkakan sebagai input.
Untuk menggunakan momen.js untuk mendapatkan tarikh dan masa semasa, anda hanya boleh memanggil fungsi momen () tanpa lulus sebarang argumen.
Untuk menggunakan momen.js untuk menambah tarikh, anda boleh menggunakan kaedah Tambah (). Kaedah Tambah () membolehkan anda menambah atau menolak unit masa (seperti hari, bulan, tahun, dll) ke objek momen.js.
Atas ialah kandungan terperinci Menguruskan tarikh dan masa menggunakan momen.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!