Menguruskan tarikh dan masa menggunakan momen.js
mata utama
- momen.js memudahkan pemprosesan tarikh dan masa dalam JavaScript, menyediakan kaedah untuk menghuraikan, mengesahkan, mengendalikan dan memaparkan tarikh dan masa.
- Walaupun momen.js berkuasa, adalah disyorkan untuk mempertimbangkan alternatif yang lebih ringan seperti tarikh-FNS dalam projek baru, kerana momen.js lebih besar dan mempunyai objek berubah-ubah.
- moment.js menyediakan pelbagai kaedah operasi dan kaedah pengiraan, seperti add (), tolak (), darinow (), dan diff (), yang boleh digunakan untuk menambah atau menolak unit masa, mengira masa dari masa kini, dan mengira dua operasi seperti perbezaan antara tarikh.
- Perpustakaan juga menyediakan sokongan bahasa antarabangsa, yang membolehkan pengguna menetapkan bahasa global atau menetapkan bahasa untuk objek momen tertentu.
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:
- limpahan - Tetapkan apabila limpahan berlaku. Sebagai contoh, bulan 13 atau hari 32.
- Invalidmonth - ditetapkan apabila bulan tidak sah, seperti Jannnuaarry.
- Kosong - Tetapkan apabila tarikh input tidak mengandungi sebarang kandungan yang boleh dibina.
- nullInput - Tetapkan apabila tarikh input adalah batal.
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 年
Kaedah
darinow () digunakan untuk membandingkan masa dengan tarikh semasa. Ini hanya satu kes khas dari (), yang membandingkan dua tarikh sewenang -wenangnya. Berikut adalah contoh menggunakan dari ():
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
Alternatif ringan
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
bagaimana menggunakan momen.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.
Apakah format masa ISO untuk momen?
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.
Bagaimana untuk menukar objek saat ke objek tarikh?
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.
Bagaimana untuk mendapatkan tarikh semasa?
Untuk menggunakan momen.js untuk mendapatkan tarikh dan masa semasa, anda hanya boleh memanggil fungsi momen () tanpa lulus sebarang argumen.
Bagaimana menggunakan momen untuk meningkatkan tarikh?
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.
