MomentJS - Panduan Cepat
MomentJS adalah pustaka JavaScript yang membantu parsing, memvalidasi, memanipulasi dan menampilkan tanggal / waktu di JavaScript dengan cara yang sangat mudah. Bab ini akan memberikan gambaran umum tentang MomentJS dan membahas fitur-fiturnya secara rinci.
JS Momen memungkinkan menampilkan tanggal sesuai pelokalan dan dalam format yang dapat dibaca manusia. Anda dapat menggunakan MomentJS di dalam browser menggunakan metode skrip. Ini juga tersedia dengan Node.js dan dapat diinstal menggunakan npm.
Di MomentJS, Anda dapat menemukan banyak metode yang mudah digunakan untuk menambah, mengurangi, memvalidasi tanggal, mendapatkan maksimum, tanggal minimum, dll. Ini adalah proyek sumber terbuka dan Anda dapat dengan mudah berkontribusi ke perpustakaan dan menambahkan fitur dalam bentuk plugin dan membuatnya tersedia di GitHub dan di Node.js.
fitur
Biarkan kami memahami secara detail semua fitur penting yang tersedia dengan MomentJS -
Parsing
Parsing memungkinkan Anda mengurai tanggal dalam format yang diperlukan. Penguraian tanggal tersedia dalam string, objek, dan larik. Ini memungkinkan Anda untuk mengkloning momen menggunakan moment.clone. Ada metode yang tersedia yang memberikan keluaran tanggal dalam format UTC.
Tanggal Validasi
Validasi Tanggal sangat mudah dengan MomentJS. Anda bisa menggunakan metode iniisValid()dan periksa apakah tanggal tersebut valid atau tidak. MomentJS juga menyediakan banyak parsing flag yang dapat digunakan untuk memeriksa validasi tanggal.
Manipulasi
Ada berbagai metode untuk memanipulasi Tanggal dan Waktu pada objek momen. add, subtract, startoftime, endoftime, local, utc, utcoffset dll, adalah metode yang tersedia yang memberikan detail yang diperlukan pada tanggal / waktu di MomentJS.
Dapatkan / Set
Get / Set memungkinkan untuk membaca dan mengatur satuan pada tanggal. Ini memungkinkan untuk mengubah serta membaca jam, menit, detik, milidetik, tanggal bulan, hari dalam seminggu, hari dalam setahun, minggu dalam setahun, bulan, tahun, kuartal, minggu tahun, minggu dalam tahun, dapatkan / set, maksimum , minimum, dll. Get / Set adalah fitur yang sangat membantu yang tersedia di MomentJS.
Layar
Tampilan menyediakan format untuk menampilkan tanggal dengan cara yang berbeda. Ada metode yang tersedia yang memberitahu waktu dari momen tertentu, dari momen saat ini, perbedaan antara dua momen, dll. Ini memungkinkan untuk menampilkan tanggal dalam format JSON, Array, Objek, String, dll.
Kueri Tanggal
Kueri Tanggal memiliki metode yang mudah digunakan yang memberitahu jika tanggal lebih besar atau lebih kecil dari input, di antara tanggal yang diberikan, adalah tahun kabisat, momen, tanggal, dll. Hal ini sangat berguna dengan validasi tanggal.
Durasi
Durasi adalah salah satu fitur penting di MomentJS. Ini pada dasarnya menangani lamanya waktu untuk unit tertentu. Ituhumanize metode yang tersedia menampilkan tanggal dalam format yang dapat dibaca manusia.
Penginternasionalan
Internasionalisasi adalah fitur penting lainnya di MomentJS. Anda dapat menampilkan Tanggal dan Waktu berdasarkan lokal. Lokal dapat diterapkan pada momen tertentu jika diperlukan. Anda akan mendapatkan file yang diperkecil dari situs beranda MomentJS yang memiliki semua lokal. Jika Anda berurusan dengan lokal tertentu, Anda juga dapat menambahkan file lokal itu dan bekerja dengannya. Nama bulan, minggu, dan hari ditampilkan di lokasi yang ditentukan.
Kustomisasi
MomentJS memungkinkan kustomisasi ke lokal yang dibuat. Anda dapat menyesuaikan nama bulan, singkatan bulan, nama hari kerja, singkatan hari kerja, format tanggal panjang, dan format kalender untuk lokal yang ditentukan sesuai kebutuhan Anda.
Keperluan
Utilitas hadir dengan dua metode: normalize units dan invalid. Mereka digunakan dengan momen dan membantu kami mengubah atau menyesuaikan output sesuai kebutuhan. Ini juga memungkinkan untuk mengatur validasi kustom kita sendiri pada objek momen.
Plugin
Plugin adalah fitur tambahan dari MomentJS. Ada banyak plugin yang ditambahkan ke kalender, format tanggal, parsing, rentang tanggal, rentang tepat, dll. Anda dapat menambahkan plugin Anda sendiri dan membuatnya tersedia dengan Node.js dan GitHub.
Di bab ini, Anda akan mempelajari secara mendetail tentang mengatur lingkungan kerja MomentJS di komputer lokal Anda. Sebelum Anda mulai mengerjakan MomentJS, Anda harus memiliki akses ke perpustakaan. Anda dapat mengakses file-nya dengan salah satu metode berikut -
Metode 1: Menggunakan File MomentJS di Browser
Dalam metode ini, kita membutuhkan file MomentJS dari situs resminya dan akan menggunakannya langsung di browser.
Langkah 1
Sebagai langkah pertama, buka situs resmi MomentJS https://momentjs.comAnda akan menemukan halaman beranda seperti yang ditunjukkan di sini -
Perhatikan bahwa ada opsi unduhan yang tersedia yang memberi Anda file MomentJS terbaru yang tersedia. Perhatikan bahwa file tersedia dengan dan tanpa minifikasi.
Langkah 2
Sekarang, sertakan moment.js di dalam scriptberi tag dan mulai bekerja dengan MomentJS. Untuk ini, Anda dapat menggunakan kode yang diberikan di bawah ini -
<script type = "text/JavaScript" src = " https://MomentJS.com/downloads/moment.js"></script>
Diberikan di sini adalah contoh kerja dan hasilnya untuk pemahaman yang lebih baik -
Contoh
<html>
<head>
<title>MomentJS - Working Example</title>
<script type = "text/JavaScript" src = "https://MomentJS.com/downloads/moment.js"></script>
<style>
div {
border: solid 1px #ccc;
padding:10px;
font-family: "Segoe UI",Arial,sans-serif;
width: 50%;
}
</style>
</head>
<body>
<div style = "font-size:25px" id = "todaysdate"></div>
<script type = "text/JavaScript">
var a = moment().toString();
document.getElementById("todaysdate").innerHTML = a;
</script>
</body>
</html>
Keluaran
Itu moment-localefile untuk bekerja dengan berbagai lokal juga tersedia seperti yang ditunjukkan pada gambar di atas. Sekarang, tambahkan file ke tag skrip seperti yang ditunjukkan di bawah ini dan bekerja dengan berbagai lokal pilihan Anda. Untuk ini, Anda dapat menggunakan kode yang diberikan di bawah ini -
<script type="text/JavaScript" src="https://MomentJS.com/downloads/moment-with-locales.js"></script>
Diberikan di sini adalah contoh kerja untuk momen-lokal dan outputnya untuk pemahaman yang lebih baik -
<html>
<head>
<script type = "text/JavaScript" src ="https://MomentJS.com/downloads/moment-with-locales.js"></script>
</head>
<body>
<h1>Moment Locale</h1>
<div id = "datedisplay" style = "font-size:30px;"></div>
<script type = "text/JavaScript">
var a = moment.locale("fr");
var c = moment().format("LLLL");
document.getElementById("datedisplay").innerHTML = c;
</script>
</body>
</html>
Keluaran
Metode 2: Menggunakan Node.js
Jika Anda memilih metode ini, pastikan Anda memilikinya Node.js dan npmdiinstal di sistem Anda. Anda dapat menggunakan perintah berikut untuk menginstal MomentJS -
npm install moment
Anda dapat mengamati output berikut setelah MomentJS berhasil diinstal -
Sekarang, untuk menguji apakah MomentJS berfungsi dengan baik dengan Node.js, buat file test.js dan tambahkan kode berikut ke dalamnya -
var moment = require('moment');
var a = moment().toString();
console.log(a);
Sekarang, di command prompt, jalankan perintah node test.js seperti yang ditunjukkan pada gambar di bawah ini -
Perhatikan bahwa perintah ini menampilkan keluaran untuk moment().toString().
Metode 3: Menggunakan Bower
Bower adalah metode lain untuk mendapatkan file yang diperlukan untuk MomentJS. Anda dapat menggunakan perintah berikut untuk menginstal MomentJS menggunakan Bower -
bower install --save moment
Tangkapan layar yang diberikan di bawah ini menunjukkan instalasi MomentJS menggunakan Bower -
Ini adalah file yang dimuat dari Bower untuk diinstal oleh MomentJS. File momen dan lokal yang diinstal ditunjukkan pada gambar yang diberikan di bawah ini -
Dalam bab ini, kita akan membahas cara bekerja dengan MomentJS using RequireJS dan MomentJS and TypeScript.
MomentJS dan RequireJS
Untuk memahami cara kerja MomentJS menggunakan RequireJS, mari kita analisis contoh kerja dengan MomentJS dan RequireJS. Struktur folder dari aplikasi yang sesuai ditunjukkan pada gambar berikut -
Anda bisa mendapatkan file require.js yang diambil dari situs resmi RequireJS -https://requirejs.org/docs/download.html. Perhatikan kode berikut untuk pemahaman yang lebih baik -
Contoh project.html
<!DOCTYPE html>
<html>
<head>
<title>RequireJS and MomentJS</title>
<!-- data-main attribute tells require.js to load
scripts/main.js after require.js loads. -->
<script data-main="scripts/main" src="scripts/require.js"></script>
</head>
<body>
<h1>RequireJS and MomentJS</h1>
<div id="datedisplay" style="font-size:25px;"></div>
</body>
</html>
main.js
require.config({
paths:{
'momentlocale':'libs/momentlocale',
},
});
require(['momentlocale'], function (moment) {
moment.locale('fr');
var a = moment().format("LLLL");
document.getElementById("datedisplay").innerHTML = a;
});
Catat itu Moment.js dan momentlocale.js berada di dalam folder libs.
Berikut ini adalah keluaran untuk project.html yang akan Anda amati di browser -
MomentJS dan TypeScript
Kode yang digunakan untuk membangun proyek MomentJS dan Typecript seperti yang diberikan di bawah ini -
package.json
{
"name": "momenttypescript",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"browserify": "^16.2.0",
"gulp": "^3.9.1",
"gulp-connect": "^5.5.0",
"gulp-typescript": "^4.0.2",
"moment": "^2.22.1",
"tsify": "^4.0.0",
"typescript": "^2.8.3",
"vinyl-source-stream": "^2.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Perhatikan bahwa dependensi tersedia di package,json perlu diinstal menggunakan npm install.
main.ts
import * as moment from 'moment';
let now = moment().format('LLLL');
document.getElementById("datedisplay").innerHTML = now;
Kamu butuh use Gulp untuk membangun file dari skrip ketikan ke JavaScript, yaitu dari main.ts untuk main.js. Kode berikut menunjukkangulpfile.js yang digunakan untuk membangun file. Perhatikan bahwa kami telah menggunakangulp-connect paket yang membuka server lokal untuk menampilkan output.
gulpfile.js
var gulp = require("gulp");
var connect = require("gulp-connect");
var browserify = require("browserify");
var tsify = require("tsify");
var source = require("vinyl-source-stream");
gulp.task("build", function (cb) {
runSequence("browserify", "minify", cb);
});
gulp.task("startserver", ["browserify", "connect"]);
gulp.task("browserify", function () {
var b = browserify({
insertGlobals: true,
debug: false
}) .add("src/main.ts") .plugin(tsify, { typescript: require("typescript") });
return b
.bundle()
.pipe(source("main.js"))
.pipe(gulp.dest("build/"));
});
gulp.task("connect", function () {
connect.server({
root: ".",
// port: '80',
livereload: true
});
});
Ini adalah output yang Anda amati ketika Anda menjalankan kode yang diberikan di atas -
Anda dapat melihat struktur folder seperti yang ditunjukkan dalam format berikut -
Kode untuk index.html ditunjukkan di bawah ini -
<html>
<head></head>
<body>
<h1>MomentJS and typescript</h1>
<div id="datedisplay" style="font-size:30px;"></div>
<script src="build/main.js"></script>
</body>
</html>
Sekarang, jika Anda membuka http://localhost:8080/, Anda dapat melihat hasilnya seperti yang ditunjukkan di bawah ini -
MomentJS memiliki banyak metode yang mudah digunakan yang membantu dalam mengurai Tanggal dan Waktu. Ia dapat mengurai tanggal dalam bentuk objek, string, larik, objek tanggal asli JavaScript, dll. Bab ini membahasnya secara detail.
Tanggal Parsing
MomentJS memberikan objek pembungkus sebagai output when moment()disebut. Anda dapat mengamati hal-hal berikut saat Anda mengkonsol output di browser.
MomentJS menyediakan berbagai metode untuk mengurai Tanggal seperti yang tercantum di bawah ini -
Sr.No. | Metode & Sintaks |
---|---|
1 | Sekarang saat() |
2 | Tali momen (string) |
3 | Obyek momen (objek) |
4 | Tanggal momen (Tanggal) |
5 | Himpunan momen (Array []) |
6 | Unix Timestamp momen (angka) |
7 | Klon Momen momen (Momen) |
8 | UTC moment.utc () |
9 | parseZone moment.parseZone () |
10 | Data Pembuatan moment (). creationData (); |
11 | Default var m = momen ({jam: 3, menit: 40, detik: 10}); |
MomentJSmenangani validasi tanggal dengan cara yang mudah. Anda tidak perlu menulis banyak kode untuk memvalidasi tanggal.isValid()adalah metode yang tersedia pada saat yang memberi tahu apakah tanggal itu valid atau tidak. MomentJS juga menyediakan banyak parsing flag yang dapat digunakan untuk memeriksa validasi tanggal.
Bendera Parsing
MomentJS menyediakan parsing flag berikut jika tanggal yang diberikan dianggap tidak valid -
overflow - Ini akan terjadi ketika bulan yang diberikan adalah tanggal 13, hari ke-367 dalam satu tahun atau ke-32 dalam satu bulan, 29 untuk Feb pada tahun bukan kabisat dll. Overflow berisi indeks unit tidak valid untuk dicocokkan invalidAt. Catat itu-1 berarti tidak ada luapan.
invalidMonth- Ini menunjukkan nama bulan yang tidak valid. Ini akan memberikan string bulan yang tidak valid atau null.
Empty- Ketika input diberikan yang bukan tanggal. Ini memberi Boolean.
nullInput - Input null, seperti momen (null); Ini mengembalikan Boolean.
invalidFormat - Jika format yang diberikan kosong seperti moment('2018-04-25', []). Ini memberi Boolean kembali.
userInvalidated - Tanggal yang dibuat secara eksplisit sebagai tidak valid, seperti moment.invalid(). Ini mengembalikan Boolean.
meridiem- Menunjukkan meridiem (AM / PM) yang diurai, jika ada. Ini mengembalikan string.
parsedDateParts - Ini mengembalikan larik bagian tanggal yang diuraikan seperti parsedDateParts[0] sebagai tahun, parsedDateParts[1] sebagai bulan dan parsedDateParts[2]sebagai hari. Jika tidak ada bagian yang ada, tetapi meridiem memiliki nilai, tanggal tidak valid. Ini mengembalikan array.
Pertimbangkan contoh berikut untuk memahami validasi tanggal -
var a = moment("2018-18-10T10:20:25");
a.isValid();
a.invalidAt();
Keluaran
InvalidAt memberikan keluaran sebagai 1, yang menunjuk ke bulan karena nilai bulan lebih besar dari 12 dan itu meluap. Jika ada overflow, invalidAt akan memberikan output seperti yang ditunjukkan pada tabel yang diberikan di sini -
0 | tahun |
1 | bulan |
2 | hari |
3 | jam |
4 | menit |
5 | detik |
6 | milidetik |
Jika ada beberapa luapan pada tanggal yang ditentukan, ini akan menjadi keluaran untuk indeks luapan pertama.
MomentJS memiliki banyak metode untuk mendapatkan / mengatur input tanggal. Get akan memungkinkan kita untuk membaca unit input yang diperlukan dan set akan memungkinkan untuk memodifikasi unit input. Bab ini membahas secara rinci metode get / set yang akan digunakan saat ini.
Tabel berikut menunjukkan metode ambil / set yang tersedia -
metode | Sintaksis |
---|---|
Mili detik | momen (). milidetik (Angka) momen (). milidetik (); momen (). milidetik (Angka); momen (). milidetik (); |
Kedua | momen (). detik (Angka); momen (). detik (); momen (). detik (Angka); momen (). detik (); |
Menit | momen (). menit (Angka); momen (). menit (); momen (). menit (Angka); momen (). menit (); |
Jam | momen (). tanggal (Angka); momen (). tanggal (); momen (). tanggal (Angka); momen (). tanggal (); |
Hari dalam seminggu | momen (). hari (Nomor | String); momen (). hari (); moment (). hari (Number | String); momen (). hari (); |
Tanggal | momen (). tanggal (Angka); momen (). tanggal (); momen (). tanggal (Angka); momen (). tanggal (); |
Hari dalam setahun | momen (). dayOfYear (Angka); momen (). dayOfYear (); |
Minggu dalam setahun | momen (). minggu (Angka); momen (). minggu (); momen (). minggu (Angka); momen (). minggu (); |
Minggu dalam setahun (ISO) | moment (). isoWeek (Angka); moment (). isoWeek (); moment (). isoWeeks (Angka); moment (). isoWeeks (); |
Bulan | momen (). bulan (Number | String); momen (). bulan (); |
Perempat | momen (). kuartal (); momen (). kuartal (Angka); momen (). quarters (); moment (). quarters (Angka); |
Tahun | momen (). tahun (Angka); momen (). tahun (); |
Week year | moment (). weekYear (Angka); momen (). weekYear (); |
Weeks in year | moment (). weeksInYear (); |
Dapatkan | momen (). get ('tahun'); moment (). get ('month'); moment (). get ('date'); moment (). get ('hour'); momen (). get ('menit'); momen (). get ('second'); moment (). get ('millisecond'); |
Set | moment (). set (String, Int); moment (). set (Object (String, Int)); |
Maksimum | moment.max (Momen [, Momen ...]); moment.max (Momen []); |
Minimum | moment.min (Moment [, Moment ...]); moment.min (Moment []); |
MomentJSmenyediakan berbagai metode untuk memanipulasi Tanggal dan Waktu pada objek momen. Bab ini membahas semua metode tersebut secara rinci.
Metode untuk Memanipulasi Tanggal dan Waktu
Tabel berikut menunjukkan metode yang tersedia di MomentJS yang membantu dalam memanipulasi Tanggal dan Waktu sesuai kebutuhan -
Sr.No. | Metode & Sintaks |
---|---|
1 | Menambahkan moment.add () |
2 | Mengurangi moment.subtract () |
3 | Waktu Mulai moment.startof () |
4 | Akhir waktu momen.endof () |
5 | Lokal moment.local () |
6 | UTC moment.utc () |
7 | Pengimbangan UTC moment.utcOffset () |
MomentJS menyediakan format untuk menampilkan tanggal dengan cara yang berbeda. Ada metode yang tersedia yang memberitahu waktu dari momen tertentu, dari momen saat ini, perbedaan antara dua momen dll. Dapat menampilkan tanggal dalam format JSON, Array, Objek, String dll.
Metode untuk Memformat Tanggal dan Waktu
Tabel berikut menunjukkan daftar metode yang tersedia yang membantu dalam menampilkan / memformat tanggal sesuai kebutuhan.
metode | Sintaksis |
---|---|
Format | momen (). format (); moment (). format (String); |
Waktu dari sekarang | momen (). fromNow (); momen (). fromNow (Boolean); |
Waktu dari X | momen (). dari (Momen | String | Nomor | Tanggal | Array); |
Waktunya untuk sekarang | momen (). toNow (); momen (). toNow (Boolean); |
Saatnya X | moment (). to (Moment | String | Number | Date | Array); moment (). to (Moment | String | Number | Date | Array, Boolean); |
Waktu Kalender | momen (). kalender (); moment (). calendar (referenceTime); moment (). calendar (referenceTime, format); |
Perbedaan | momen (). diff (Momen | String | Nomor | Tanggal | Array); momen (). diff (Momen | String | Nomor | Tanggal | Array, String); momen (). diff (Momen | String | Nomor | Tanggal | Array, String, Boolean); |
Stempel Waktu Unix (milidetik) | momen (). valueOf (); + momen (); |
Unix Timestamp (detik) | momen (). unix (); |
Hari dalam Bulan | moment (). daysInMonth (); |
Sebagai Tanggal JavaScript | momen (). toDate (); |
Sebagai Array | momen (). toArray (); |
Sebagai JSON | momen (). toJSON (); |
Sebagai String ISO 8601 | momen (). toISOString (); moment (). toISOString (keepOffset); |
Sebagai Objek | momen (). toObject (); |
Sebagai String | momen (). toString (); |
Memeriksa | moment (). inspect (); |
MomentJS menyediakan metode untuk menanyakan tanggal / waktu untuk tahun kabisat, perbandingan tanggal, validasi tanggal, dll. Bab ini membahasnya secara rinci.
Metode untuk Menanyakan Tanggal di MomentJS
Tabel berikut menunjukkan metode yang tersedia di MomentJS dan sintaksnya untuk tanggal kueri -
metode | Sintaksis |
---|---|
Apakah Sebelumnya | momen (). isBefore (Momen | String | Nomor | Tanggal | Array); momen (). isBefore (Momen | String | Nomor | Tanggal | Array, String); |
Sama | momen (). isSame (Momen | String | Nomor | Tanggal | Array); momen (). isSame (Momen | String | Nomor | Tanggal | Array, String); |
Apakah Setelah | momen (). isAfter (Momen | String | Nomor | Tanggal | Array); momen (). isAfter (Momen | String | Nomor | Tanggal | Array, String); |
Sama atau Sebelumnya | momen (). isSameOrBefore (Momen | String | Nomor | Tanggal | Array); momen (). isSameOrBefore (Momen | String | Nomor | Tanggal | Array, String); |
Sama atau Sesudah | momen (). isSameOrAfter (Momen | String | Nomor | Tanggal | Array); momen (). isSameOrAfter (Momen | String | Nomor | Tanggal | Array, String); |
Adalah antara | moment (). isBetween (moment-like, moment-like); moment (). isBetween (moment-like, moment-like, String); |
Apakah Daylight Saving Time | momen (). isDST (); |
Apakah Tahun Kabisat | moment (). isLeapYear (); |
Adalah Momen | moment.isMoment (obj); |
Apakah Tanggal | moment.isDate (obj); |
Internasionalisasi adalah salah satu fitur penting dalam MomentJS. Anda dapat menampilkan Tanggal dan Waktu berdasarkan lokalisasi, dengan kata lain, berdasarkan negara / kawasan. Lokal dapat diterapkan pada momen tertentu jika diperlukan.
Bab ini membahas secara detail tentang bagaimana membuat apply locale secara global, lokal, bekerja dengan lokal menggunakan Node.js, di browser, mendapatkan unit (bulan, hari kerja, dll.) Di lokal yang diperlukan, dll.
Sr.No. | Lokal & Deskripsi |
---|---|
1 | Lokal global Kami dapat menetapkan lokal secara global dan semua detail tanggal / waktu akan tersedia di lokal yang ditetapkan. |
2 | Mengubah Lokal Secara Lokal Kita membutuhkan lokal untuk diterapkan secara lokal jika kita perlu menangani banyak lokal dalam sebuah aplikasi. |
3 | Menggunakan Lokal di Browser Kita bisa mulai bekerja dengan lokal dengan memasukkan file lokal dalam tag skrip. |
4 | Menggunakan Lokal menggunakan Node.js Jika Anda kebetulan menggunakan Node.js, Anda akan memiliki file lokal saat Anda melakukan npm install moment. |
5 | momentjs_Listing tanggal / waktu detail lokal saat ini Anda dapat mengatur lokal dan memeriksa detailnya seperti bulan, hari kerja, dll. |
6 | Memeriksa lokal saat ini Kita bisa memeriksa lokal saat ini menggunakan moment.locale (). |
7 | Mengakses Fungsi Khusus Lokal Di sini akan melihat metode dan properti yang tersedia di lokal yang saat ini dimuat. |
MomentJSmemungkinkan untuk menambahkan kustomisasi ke lokal yang dibuat. Bab ini membahasnya secara rinci.
Daftar berikut menunjukkan kustomisasi yang mungkin dilakukan pada pelokalan -
Sr.No. | Lokalisasi & Deskripsi |
---|---|
1 | Nama Bulan Anda dapat menambahkan nama bulan ke kustomisasi lokal. |
2 | Singkatan Bulan Metode ini membantu dalam menyesuaikan singkatan bulan. |
3 | Nama Hari Kerja Metode ini membantu dalam menyesuaikan nama hari kerja sesuai lokal. |
4 | Singkatan Hari Kerja Metode ini membantu dalam menyesuaikan singkatan hari kerja berdasarkan set lokal. |
5 | Singkatan Hari Kerja Minimal Metode ini membantu dalam menyesuaikan singkatan Hari Kerja Minimal berdasarkan set lokal. |
6 | Format Tanggal Panjang Metode ini membantu dalam menyesuaikan format tanggal panjang untuk suatu lokal. |
7 | Waktu Relatif Metode ini membantu dalam mendapatkan waktu relatif. |
8 | AM / PM Metode ini membantu dalam menyesuaikan meridiem sesuai lokal. |
9 | Parsing AM / PM Anda dapat mengurai AM / PM menggunakan metode ini. |
10 | Kalender Ini membantu dalam menyesuaikan objek kalender untuk set lokal. |
11 | Urut Tampilan ordinal untuk tanggal dapat diubah berdasarkan lokal. |
12 | Ambang Waktu Relatif Ini digunakan dengan durasi.humanize dimana panjang durasi ditampilkan sebagai few seconds ago, in a minute, an hour ago dll. |
MomentJS menyediakan fitur penting yang disebut durasi yang menangani lamanya waktu untuk unit tertentu. Dalam bab ini, Anda akan mempelajarinya secara mendetail.
Metode Tersedia dengan Durasi
Tabel berikut menunjukkan metode yang tersedia dengan durasi untuk unit berbeda yang akan digunakan dengan durasi momen -
metode | Sintaksis |
---|---|
Membuat | moment.duration (Angka, String); moment.duration (Angka); moment.duration (Objek); moment.duration (String); |
Klon | moment.duration (). clone (); |
Memanusiakan | moment.duration (). humanize (); |
Milidetik | moment.duration (). millideconds (); moment.duration (). asMilliseconds (); |
Detik | moment.duration (). detik (); moment.duration (). asSeconds (); |
Menit | moment.duration (). minutes (); moment.duration (). asMinutes (); |
Jam | moment.duration (). jam (); moment.duration (). asHours (); |
Hari | moment.duration (). days (); moment.duration (). asDays (); |
Minggu | moment.duration (). weeks (); moment.duration (). asWeeks (); |
Bulan | moment.duration (). months (); moment.duration (). asMonths (); |
Years | moment.duration (). years (); moment.duration (). asYears (); |
Tambahkan Waktu | moment.duration (). add (Number, String); moment.duration (). add (Number); moment.duration (). add (Duration); moment.duration (). add (Object); |
Kurangi Waktu | moment.duration (). kurangi (Number, String); moment.duration (). kurangi (Number); moment.duration (). kurangi (Duration); moment.duration (). kurangi (Object); |
Menggunakan Durasi dengan Diff | var durasi = momen.duration (x.diff (y)) |
Sebagai Satuan Waktu | moment.duration (). as (String); |
Dapatkan Satuan Waktu | durasi.get ('jam'); durasi.get ('menit'); durasi.get ('detik'); durasi.get ('milidetik'); |
Sebagai JSON | moment.duration (). toJSON (); |
Apakah sebuah Durasi | moment.isDuration (obj); |
Sebagai String ISO 8601 | moment.duration (). toISOString (); |
Lokal | moment.duration (). locale (); moment.duration (). locale (String); |
Di MomentJS, Anda dapat mengubah atau menyesuaikan output sesuai kebutuhan menggunakan unit normalisasi dan metode yang tidak valid. Anda juga dapat mengatur validasi kustom Anda sendiri pada objek momen.
Perhatikan tabel berikut untuk informasi lebih lanjut -
Sr.No. | Metode & Sintaks |
---|---|
1 | Normalisasi Unit moment.normalizeUnits (String); |
2 | Tidak valid moment.invalid (Object); |
Plugin adalah fitur tambahan yang ditambahkan di MomentJS. MomentJS adalah proyek open source dan banyak plugin ditemukan di MomentJS yang dikontribusikan oleh penggunanya dan tersedia menggunakan Node.js dan GitHub.
Bab ini membahas beberapa plugin kalender dan plugin format tanggal yang tersedia di MomentJS.
Plugin Kalender
Bagian ini membahas dua jenis plugin Kalender: ISO calendar and Taiwan calendar.
Kalender ISO
Anda dapat menggunakan perintah berikut untuk menginstalnya dengan Node.js -
npm install moment-isocalendar
Anda bisa mendapatkan moment-isocalendar.js dari GitHub - https://github.com/fusionbox/moment-isocalendar Perhatikan contoh kerja berikut dengan isocalendar dan MomentJS -
Example
var m = moment().isocalendar();
Output
Example
var m = moment.fromIsocalendar([2018, 51, 10, 670]).format('LLLL');
Output
Kalender Taiwan
Anda dapat menggunakan perintah berikut untuk menginstalnya dengan Node.js -
npm install moment-jalaali
Anda bisa mendapatkan moment-taiwan.js dari GitHub - https://github.com/bradwoo8621/moment-taiwan Perhatikan contoh kerja berikut dengan isocalendar dan MomentJS -
Example
var m = moment('190/01/01', 'tYY/MM/DD');
var c = m.twYear();
Output
Plugin format tanggal
Bagian ini membahas jenis plugin format Tanggal berikut -
- Pengurai format tanggal Java
- Formatter tanggal pendek
- Format tanggal parse
- Format durasi
- Rentang Tanggal
- Rentang Tepat
Java DateFormat Parser
Anda dapat menggunakan perintah berikut untuk menginstalnya dengan Node.js -
Anda bisa mendapatkan moment-jdateformatparser.js dari GitHub - https://github.com/MadMG/moment-jdateformatparser Perhatikan contoh kerja berikut untuk moment-jdateformatparser dan MomentJS -
Example
var m = moment().formatWithJDF("dd.MM.yyyy");
Output
Formatter tanggal pendek
File JavaScript untuk format tanggal pendek dapat diambil dari GitHub -
https://github.com/researchgate/moment-shortformatSyntax
moment().short();
Tampilannya seperti yang ditunjukkan pada tabel di sini -
Dari saat | Dari momen (). Short () |
---|---|
0 hingga 59 detik | 0 hingga 59 dtk |
1 hingga 59 menit | 1 sampai 59 m |
1 sampai 23 jam | 1h sampai 23h |
1 sampai 6 hari | 1d sampai 6d |
> = 7 hari dan tahun yang sama | Tampilan akan seperti 3 Februari, 6 Maret |
> = 7 hari dan tahun berbeda | Tampilannya akan seperti 3 feb 2018, 6 maret 2018 |
Anda dapat mengambil skrip untuk momentshort dari tautan GitHub yang diberikan di atas.
Example
var a = moment().subtract(8, 'hours').short();
var b = moment().add(1, 'hour').short(true);
Output
Jika Anda ingin menghapus sufiks ago atau in, Anda bisa lulus true to short (tru.
Format tanggal parse
Anda dapat menggunakan perintah berikut untuk menginstalnya dengan Node.js -
npm install moment-parseformat
Example
var a = moment.parseFormat('Friday 2018 27 april 10:28:10');
Output
Perhatikan bahwa output menunjukkan bahwa parameter apa pun (tanggal / waktu) diberikan ke parseFormat, ini memberikan format tanggal seperti yang ditunjukkan di atas.
Format Durasi
Anda dapat menggunakan perintah berikut untuk menginstal format durasi di Node.js -
Repositori untuk format durasi tersedia di sini - https://github.com/jsmreese/moment-duration-format Mari kita lihat contoh kerja dengan format durasi -
Example
var a = moment.duration(969, "minutes").format("h:mm:ss");
Output
Ini menambahkan lebih banyak detail ke durasi saat dibuat.
Rentang Tanggal
Anda dapat menggunakan perintah berikut untuk menginstal rentang tanggal di Node.js -
npm install moment-range
Example
window['moment-range'].extendMoment(moment);
var start = new Date(2012, 0, 15);
var end = new Date(2012, 4, 23);
var range = moment.range(start, end);
console.log(range.start._d);
console.log(range.end._d);
Output
Rentang Tepat
Rentang tepat akan menampilkan perbedaan tanggal yang tepat pada tanggal, waktu, dan dalam format yang dapat dibaca manusia. Anda dapat menggunakan perintah berikut untuk menginstal kisaran yang tepat di Node.js -
npm install moment-precise-range-plugin
Example
var a = moment("1998-01-01 09:00:00").preciseDiff("2011-03-04 18:05:06");
Output
Hingga saat ini, kami telah mempelajari banyak konsep di MomentJS. Bab ini memberi Anda contoh lebih lanjut untuk pemahaman yang lebih baik.
Tampilkan Rentang Tanggal Antara Dua Tanggal
Ini adalah contoh yang menampilkan tanggal antara dua tanggal tertentu.
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<style>
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<h1>Dates display between 2014-05-01 and 2014-05-16</h1>
<div id="container">
<table id="datedetails" ></table>
</div>
<script type="text/JavaScript">
function getDaterange(start, end, arr) {
if (!moment(start).isSameOrAfter(end)) {
if (arr.length==0) arr.push(moment(start).format("dddd, MMMM Do YYYY, h:mm:ss a"));
var next = moment(start).add(1, 'd');
arr.push(next.format("dddd, MMMM Do YYYY, h:mm:ss a"));
getDaterange(next, end, arr);
} else {
return arr;
}
return arr;
}
var a = getDaterange("2014-05-01", "2014-05-16", []);
var tr = "";
for (var i = 0; i<a.length;i++ ) {
tr += "<tr><td>"+a[i]+"</td></tr>";
}
document.getElementById("datedetails").innerHTML = tr;
</script>
</body>
</html>
Kami ingin menampilkan semua tanggal di antaranya 2014-05-01 untuk 2014-05-16. Kami telah menggunakan kueri tanggalisSameOrAfter, date addition and date format untuk mencapai apa yang kita inginkan.
Keluaran
Tayang Minggu Antara 2014-05-01 dan 2014-08-16
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<style>
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<h1>Sundays between 2014-05-01 and 2014-08-16</h1>
<div id="container">
<table id="datedetails"></table>
</div>
<script type="text/JavaScript">
function getDaterange(start, end, arr) {
if (!moment(start).isSameOrAfter(end)) {
if (arr.length==0) {
if (moment(start).format("dddd") === "Sunday") {
arr.push(moment(start).format("dddd, MMMM Do YYYY, h:mm:ss a"));
}
}
var next = moment(start).add(1, 'd');
if (moment(next).format("dddd") === "Sunday") {
arr.push(next.format("dddd, MMMM Do YYYY, h:mm:ss a"));
}
getDaterange(next, end, arr);
} else {
return arr;
}
return arr;
}
var a = getDaterange("2014-05-01", "2014-08-16", []);
var tr = "";
for (var i = 0; i<a.length;i++ ) {
tr += "<tr><td>"+a[i]+"</td></tr>";
}
document.getElementById("datedetails").innerHTML = tr;
</script>
</body>
</html>
Keluaran
Tampilkan Detail Tanggal sesuai Lokal
Di sini kami menggunakan skrip moment.locale yang memiliki semua lokal.
<!DOCTYPE html>
<html>
<head>
<script type="text/JavaScript" src="MomentJS.js"></script>
<script type="text/JavaScript" src="momentlocale.js" charset="UTF-8"></script>
<style type="text/css">
div {
margin-top: 16px!important;
margin-bottom: 16px!important;
width:100%;
}
table, td {
border: 1px solid #F1E8E8;
border-collapse: collapse;
padding: 4px;
}
table tr:nth-child(odd) {
background-color: #CFCACA;
}
table tr:nth-child(even) {
background-color: #C4B4B4;
}
</style>
</head>
<body>
<div >
Select Locale : <select id="locale" onchange="updatelocale()" style="width:200px;">
<option value="en">English</option>
<option value="fr">French</option>
<option value="fr-ca">French Canada</option>
<option value="cs">Czech</option>
<option value="zh-cn">Chinese</option>
<option value="nl">Dutch< /option>
<option value="ka">Georgian</option>
<option value="he">Hebrew</option>
<option value="hi">Hindi</option>
<option value="id">Indonesian</option>
<option value="it">Italian</option>
<option value="jv";Japanese</option>
<option value="ko";Korean</option>
</select>
</div>
<br/>
<br/>>
Display Date is different formats as per locale :<span id="localeid"></span><br/>
<div>
<table>
<tr>
<th>Format</th>
<th>Display</th>
</tr>
<tr>
<td><i>dddd, MMMM Do YYYY, h:mm:ss a</i></td>
<td>
<div id="ldate"></div>
</td>
</tr>
<tr>
<td><i>LLLL</i></td>
<td>
<div id="ldate1"></div>
</td>
</tr>
<tr>
<td><i>moment().format()</i></td>
<td>
<div id="ldate2"></div>
</td>
</tr>
<tr>
<td><i>moment().calendar()</i></td>
<td>
<div id="ldate3"></div>
</td>
</tr>
<tr>
<td><i>Months</i></td>
<td>
<div id="ldate4"></div>
</td>
</tr>
<tr>
<td><i>Weekdays</i></td>
<td>
<div id="ldate5"></div>
</td>
</tr>
</table>
</div>
<script type="text/JavaScript">
var updatelocale = function() {
var a = moment.locale(document.getElementById("locale").value);
var k = moment().format("dddd, MMMM Do YYYY, h:mm:ss a");
var k1 = moment().format("LLLL");
var k2 = moment().format();
var k3 = moment().calendar();
var k4 = moment.months();
var k5 = moment.weekdays();
document.getElementById("localeid").innerHTML = "<b>"+a+"</b>";
document.getElementById("ldate").innerHTML = k;
document.getElementById("ldate1").innerHTML = k1;
document.getElementById("ldate2").innerHTML = k2;
document.getElementById("ldate3").innerHTML = k3;
document.getElementById("ldate4").innerHTML = k4;
document.getElementById("ldate5").innerHTML = k5;
};
updatelocale();
</script>
</body>
</html>