MomentJS - Guida rapida
MomentJS è una libreria JavaScript che aiuta ad analizzare, convalidare, manipolare e visualizzare data / ora in JavaScript in un modo molto semplice. Questo capitolo fornirà una panoramica di MomentJS e discuterà le sue caratteristiche in dettaglio.
Moment JS consente la visualizzazione della data secondo la localizzazione e in un formato leggibile dall'uomo. Puoi utilizzare MomentJS all'interno di un browser utilizzando il metodo di script. È anche disponibile con Node.js e può essere installato utilizzando npm.
In MomentJS, puoi trovare molti metodi facili da usare per aggiungere, sottrarre, convalidare la data, ottenere la data massima, minima ecc. È un progetto open source e puoi facilmente contribuire alla libreria e aggiungere funzionalità sotto forma di plugin e renderlo disponibile su GitHub e in Node.js.
Caratteristiche
Cerchiamo di capire in dettaglio tutte le funzionalità importanti disponibili con MomentJS -
Analisi
L'analisi consente di analizzare la data nel formato richiesto. L'analisi della data è disponibile in stringa, oggetto e matrice. Ti permette di clonare il momento usando moment.clone. Sono disponibili metodi che forniscono l'output della data in formato UTC.
Convalida della data
La convalida della data è molto semplice con MomentJS. Puoi usare il metodoisValid()e controlla se la data è valida o meno. MomentJS fornisce anche molti flag di analisi che possono essere utilizzati per verificare la convalida della data.
Manipolazione
Esistono vari metodi per manipolare la data e l'ora sull'oggetto momento. add, subtract, startoftime, endoftime, local, utc, utcoffset ecc. sono i metodi disponibili che forniscono i dettagli richiesti su data / ora in MomentJS.
Preparatevi
Get / Set permette di leggere e impostare le unità nella data. Consente di modificare e leggere ora, minuti, secondi, millisecondi, data del mese, giorno della settimana, giorno dell'anno, settimana dell'anno, mese, anno, trimestre, anno della settimana, settimane dell'anno, get / set, maximum , minimo ecc. Get / Set è una funzione molto utile disponibile in MomentJS.
Schermo
Il display fornisce formati per visualizzare la data in modi diversi. Sono disponibili metodi che indicano l'ora di un dato momento, del momento corrente, la differenza tra due momenti ecc. Consente di visualizzare la data in formato JSON, Array, Object, String ecc.
Query sulla data
Date Queries ha metodi facili da usare che dicono se la data è maggiore o minore dell'input, tra le date fornite, è un anno bisestile, è un momento, è una data ecc. È molto utile con la convalida della data.
Durate
La durata è una delle caratteristiche importanti di MomentJS. Fondamentalmente gestisce la durata del tempo per determinate unità. Ilhumanize metodo disponibile visualizza la data in un formato leggibile dall'uomo.
Internazionalizzazione
L'internazionalizzazione è un'altra caratteristica importante di MomentJS. È possibile visualizzare la data e l'ora in base alle impostazioni locali. La locale può essere applicata a un momento specifico, se necessario. Otterrai un file minimizzato dal sito principale di MomentJS che ha tutte le impostazioni locali. Nel caso tu abbia a che fare con una specifica locale, puoi anche aggiungere solo quel file locale e lavorarci. I nomi di mesi, settimane e giorni vengono visualizzati nella lingua specificata.
Personalizzazione
MomentJS consente la personalizzazione della locale creata. È possibile personalizzare i nomi dei mesi, l'abbreviazione del mese, i nomi dei giorni feriali, l'abbreviazione dei giorni feriali, il formato della data estesa e il formato del calendario per una lingua definita in base alle proprie esigenze.
Utilità
Le utility vengono fornite con due metodi: normalize units e invalid. Sono usati con il momento e ci aiutano a cambiare o personalizzare l'output di cui abbiamo bisogno. Consente inoltre di impostare la nostra validazione personalizzata sull'oggetto momento.
Plugin
I plugin sono funzionalità aggiuntive di MomentJS. Ci sono molti plugin aggiunti ai calendari, formato della data, analisi, intervalli di date, intervallo preciso ecc. Puoi aggiungere i tuoi plugin e renderli disponibili con Node.js e GitHub.
In questo capitolo imparerai in dettaglio come configurare l'ambiente di lavoro di MomentJS sul tuo computer locale. Prima di iniziare a lavorare su MomentJS, devi avere accesso alla libreria. È possibile accedere ai suoi file in uno dei seguenti metodi:
Metodo 1: utilizzo del file MomentJS nel browser
In questo metodo, avremo bisogno del file MomentJS dal suo sito Web ufficiale e lo utilizzeremo direttamente nel browser.
Passo 1
Come primo passo, vai al sito ufficiale di MomentJS https://momentjs.comTroverai la home page come mostrato qui -
Osserva che è disponibile un'opzione di download che ti dà l'ultimo file MomentJS disponibile. Notare che il file è disponibile con e senza minimizzazione.
Passo 2
Ora includi moment.js dentro il scripttag e inizia a lavorare con MomentJS. Per questo, puoi utilizzare il codice fornito di seguito:
<script type = "text/JavaScript" src = " https://MomentJS.com/downloads/moment.js"></script>
Qui viene fornito un esempio funzionante e il suo output per una migliore comprensione -
Esempio
<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>
Produzione
Il moment-localeè disponibile anche un file per lavorare con diverse localizzazioni, come mostrato nello screenshot qui sopra. Ora aggiungi il file al tag script come mostrato di seguito e lavora con diverse impostazioni locali di tua scelta. Per questo, puoi utilizzare il codice fornito di seguito:
<script type="text/JavaScript" src="https://MomentJS.com/downloads/moment-with-locales.js"></script>
Qui viene fornito un esempio funzionante per moment-locale e il suo output per una migliore comprensione -
<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>
Produzione
Metodo 2: utilizzo di Node.js
Se stai optando per questo metodo, assicurati di averlo fatto Node.js e npminstallato sul tuo sistema. È possibile utilizzare il seguente comando per installare MomentJS:
npm install moment
È possibile osservare il seguente output una volta installato correttamente MomentJS:
Ora, per verificare se MomentJS funziona bene con Node.js, crea il file test.js e aggiungi il seguente codice ad esso -
var moment = require('moment');
var a = moment().toString();
console.log(a);
Ora, nel prompt dei comandi, esegui il nodo di comando test.js come mostrato nello screenshot riportato di seguito -
Notare che questo comando visualizza l'output per moment().toString().
Metodo 3: utilizzo di Bower
Bower è un altro metodo per ottenere i file richiesti per MomentJS. È possibile utilizzare il seguente comando per installare MomentJS utilizzando Bower -
bower install --save moment
Lo screenshot riportato di seguito mostra l'installazione di MomentJS utilizzando Bower -
Questi sono i file caricati da Bower per MomentJS da installare. Il momento installato ei file delle impostazioni locali sono mostrati nell'immagine riportata di seguito:
In questo capitolo, discuteremo come lavorare con MomentJS using RequireJS e MomentJS and TypeScript.
MomentJS e RequireJS
Per comprendere il funzionamento di MomentJS utilizzando RequireJS, analizziamo un esempio di lavoro con MomentJS e RequireJS. La struttura delle cartelle dell'app corrispondente è mostrata nell'immagine seguente:
È possibile ottenere il file require.js recuperato dal sito ufficiale di RequireJS -https://requirejs.org/docs/download.html. Osservare il codice seguente per una migliore comprensione:
Esempio 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;
});
Nota che Moment.js e momentlocale.js sono nella cartella libs.
Di seguito è riportato l'output per project.html che osserverai nel browser -
MomentJS e TypeScript
Il codice utilizzato per costruire MomentJS e il progetto Typescript è il seguente:
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"
}
Tieni presente che le dipendenze disponibili in package,json deve essere installato utilizzando npm install.
main.ts
import * as moment from 'moment';
let now = moment().format('LLLL');
document.getElementById("datedisplay").innerHTML = now;
Devi use Gulp per costruire il file da dattiloscritto a JavaScript, cioè da main.ts per main.js. Il codice seguente mostra ilgulpfile.js che viene utilizzato per creare il file. Nota che abbiamo usatogulp-connect pacchetto che apre un server locale per visualizzare l'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
});
});
Questo è l'output che osservi quando esegui il codice sopra indicato -
È possibile visualizzare la struttura delle cartelle come mostrato nel seguente formato:
Il codice per index.html è mostrato di seguito:
<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>
Ora, se apri http://localhost:8080/, puoi vedere l'output come mostrato di seguito -
MomentJS ha molti metodi facili da usare che aiutano nell'analisi di data e ora. Può analizzare le date sotto forma di oggetto, stringa, array, oggetto data nativo di JavaScript, ecc. Questo capitolo le discute in dettaglio.
Data di analisi
MomentJS fornisce l'oggetto wrapper come output quando moment()è chiamato. È possibile osservare quanto segue quando si consola l'output nel browser.
MomentJS fornisce vari metodi per analizzare la data come elencato di seguito:
Sr.No. | Metodo e sintassi |
---|---|
1 | Adesso momento() |
2 | Corda momento (stringa) |
3 | Oggetto momento (oggetto) |
4 | Data momento (data) |
5 | Vettore momento (Array []) |
6 | Timestamp Unix momento (numero) |
7 | Moment Clone momento (Momento) |
8 | UTC moment.utc () |
9 | parseZone moment.parseZone () |
10 | Dati di creazione moment (). creationData (); |
11 | Default var m = momento ({ora: 3, minuto: 40, secondi: 10}); |
MomentJSgestisce la convalida della data in modo semplice. Non è necessario scrivere molto codice per convalidare la data.isValid()è il metodo disponibile al momento che dice se la data è valida o meno. MomentJS fornisce anche molti flag di analisi che possono essere utilizzati per verificare la convalida della data.
Bandiere di analisi
MomentJS fornisce i seguenti flag di analisi nei casi in cui la data fornita è considerata non valida:
overflow - Ciò si verificherà quando il mese indicato è il 13 °, il giorno è il 367 ° in un anno o il 32 ° in un mese, il 29 per febbraio in un anno non bisestile ecc. Overflow contiene l'indice dell'unità non valida a cui corrispondere invalidAt. Nota che-1 significa nessun trabocco.
invalidMonth- Mostra un nome di mese non valido. Fornirà la stringa del mese non valida o null.
Empty- Quando viene fornito un input che non è una data. Fornisce un valore booleano.
nullInput - Un input nullo, come moment (null); restituisce un valore booleano.
invalidFormat - Quando il formato fornito è vuoto come moment('2018-04-25', []). Restituisce Boolean.
userInvalidated - Una data creata esplicitamente come non valida, ad esempio moment.invalid(). Restituisce booleano.
meridiem- Indica il meridiano (AM / PM) analizzato, se presente. Restituisce stringa.
parsedDateParts - Restituisce un array di parti di date analizzate come parsedDateParts[0] come anno, parsedDateParts[1] come mese e parsedDateParts[2]come il giorno. Se non sono presenti parti, ma meridiem ha valore, la data non è valida. Restituisce un array.
Considera il seguente esempio per comprendere la convalida della data:
var a = moment("2018-18-10T10:20:25");
a.isValid();
a.invalidAt();
Produzione
InvalidAt fornisce l'output come 1, che punta al mese poiché il valore del mese è maggiore di 12 ed è in overflow. Se c'è un overflow, invalidAt darà l'output come mostrato nella tabella qui riportata -
0 | anni |
1 | mesi |
2 | giorni |
3 | ore |
4 | minuti |
5 | secondi |
6 | millisecondi |
Se sono presenti più overflow nella data specificata, sarà un output per il primo indice in overflow.
MomentJS ha molti metodi per ottenere / impostare gli input di data. Get ci permetterà di leggere l'unità di input richiesta e set ci permetterà di modificare l'unità di input. Questo capitolo discute in dettaglio i metodi get / set da utilizzare al momento.
La tabella seguente mostra i metodi get / set disponibili:
Metodo | Sintassi |
---|---|
Millisecondo | moment (). millisecond (Number) momento (). millisecondo (); moment (). milliseconds (Number); momento (). millisecondi (); |
Secondo | momento (). secondo (Numero); momento (). secondo (); moment (). seconds (Number); momento (). secondi (); |
Minuto | moment (). minute (Number); momento (). minuto (); momento (). minuti (Numero); momento (). minuti (); |
Ora | moment (). date (Number); moment (). date (); moment (). date (numero); moment (). date (); |
Giorno della settimana | moment (). day (Number | String); momento (). giorno (); moment (). days (Number | String); momento (). giorni (); |
Data del mese | moment (). date (Number); moment (). date (); moment (). date (numero); moment (). date (); |
Giorno dell'anno | moment (). dayOfYear (Number); moment (). dayOfYear (); |
Settimana dell'anno | momento (). settimana (Numero); momento (). settimana (); momento (). settimane (numero); momento (). settimane (); |
Settimana dell'anno (ISO) | moment (). isoWeek (Number); moment (). isoWeek (); moment (). isoWeeks (Number); moment (). isoWeeks (); |
Mese | moment (). month (Number | String); momento (). mese (); |
Trimestre | momento (). trimestre (); momento (). trimestre (Numero); momento (). quarti (); momento (). trimestri (Numero); |
Anno | moment (). year (Number); momento (). anno (); |
Week year | moment (). weekYear (Number); moment (). weekYear (); |
Weeks in year | moment (). weeksInYear (); |
Ottenere | moment (). get ('anno'); moment (). get ('mese'); moment (). get ('data'); moment (). get ('ora'); moment (). get ('minuto'); moment (). get ('second'); moment (). get ('millisecondo'); |
Impostato | moment (). set (String, Int); moment (). set (Object (String, Int)); |
Massimo | moment.max (Moment [, Moment ...]); moment.max (Moment []); |
Minimo | moment.min (Moment [, Moment ...]); moment.min (Moment []); |
MomentJSfornisce vari metodi per manipolare la data e l'ora sull'oggetto momento. Questo capitolo tratta tutti questi metodi in dettaglio.
Metodi per manipolare data e ora
La tabella seguente mostra i metodi disponibili in MomentJS che aiuta a manipolare la data e l'ora come richiesto -
Sr.No. | Metodo e sintassi |
---|---|
1 | Inserisci moment.add () |
2 | Sottrarre moment.subtract () |
3 | Inizio del tempo moment.startof () |
4 | Fine dei tempi moment.endof () |
5 | Locale moment.local () |
6 | UTC moment.utc () |
7 | Offset UTC moment.utcOffset () |
MomentJS fornisce formati per visualizzare la data in modi diversi. Sono disponibili metodi che indicano l'ora di un dato momento, del momento corrente, la differenza tra due momenti ecc. Può visualizzare la data in formato JSON, Array, Object, String ecc.
Metodi per formattare data e ora
La tabella seguente mostra un elenco di metodi disponibili che aiuta nella visualizzazione / formattazione della data come richiesto.
Metodo | Sintassi |
---|---|
Formato | moment (). format (); moment (). format (String); |
Tempo da adesso | moment (). fromNow (); moment (). fromNow (Boolean); |
Tempo da X | moment (). from (Moment | String | Number | Date | Array); |
È ora di adesso | moment (). toNow (); moment (). toNow (Boolean); |
È ora di X | moment (). to (Moment | String | Number | Date | Array); moment (). to (Moment | String | Number | Date | Array, Boolean); |
Ora del calendario | moment (). calendar (); moment (). calendar (referenceTime); moment (). calendar (referenceTime, formati); |
Differenza | moment (). diff (Moment | String | Number | Date | Array); moment (). diff (Moment | String | Number | Date | Array, String); moment (). diff (Moment | String | Number | Date | Array, String, Boolean); |
Timestamp Unix (millisecondi) | moment (). valueOf (); + momento (); |
Timestamp Unix (secondi) | momento (). unix (); |
Giorni nel mese | moment (). daysInMonth (); |
Come data JavaScript | moment (). toDate (); |
Come Array | moment (). toArray (); |
Come JSON | momento (). toJSON (); |
Come stringa ISO 8601 | moment (). toISOString (); moment (). toISOString (keepOffset); |
As Object | moment (). toObject (); |
As String | moment (). toString (); |
Ispezionare | moment (). inspect (); |
MomentJS fornisce metodi per interrogare la data / ora per l'anno bisestile, il confronto della data, la convalida della data, ecc. Questo capitolo li discute in dettaglio.
Metodi per l'interrogazione della data in MomentJS
La tabella seguente mostra i metodi disponibili in MomentJS e la loro sintassi per l'interrogazione della data -
Metodo | Sintassi |
---|---|
È prima | moment (). isBefore (Moment | String | Number | Date | Array); moment (). isBefore (Moment | String | Number | Date | Array, String); |
È lo stesso | moment (). isSame (Moment | String | Number | Date | Array); moment (). isSame (Moment | String | Number | Date | Array, String); |
È dopo | moment (). isAfter (Moment | String | Number | Date | Array); moment (). isAfter (Moment | String | Number | Date | Array, String); |
È uguale o prima | moment (). isSameOrBefore (Moment | String | Number | Date | Array); moment (). isSameOrBefore (Moment | String | Number | Date | Array, String); |
È uguale o dopo | moment (). isSameOrAfter (Moment | String | Number | Date | Array); moment (). isSameOrAfter (Moment | String | Number | Date | Array, String); |
È tra | moment (). isBetween (moment-like, moment-like); moment (). isBetween (moment-like, moment-like, String); |
È l'ora legale | moment (). isDST (); |
È l'anno bisestile | moment (). isLeapYear (); |
È un momento | moment.isMoment (obj); |
È un appuntamento | moment.isDate (obj); |
L'internazionalizzazione è una delle caratteristiche importanti di MomentJS. È possibile visualizzare la data e l'ora in base alla localizzazione, in altre parole, in base al paese / regione. La locale può essere applicata a un momento specifico, se necessario.
Questo capitolo discute in dettaglio su come applicare le impostazioni locali a livello globale, locale, lavorare con le impostazioni locali utilizzando Node.js, nel browser, ottenere le unità (mesi, giorni feriali ecc.) Nella locale richiesta ecc.
Sr.No. | Locale e descrizione |
---|---|
1 | Localizzazione globale Possiamo assegnare la locale a livello globale e tutti i dettagli di data / ora saranno disponibili nella locale assegnata. |
2 | Modifica locale a livello locale È necessario che le impostazioni locali vengano applicate localmente nel caso in cui sia necessario gestire molte impostazioni locali in un'applicazione. |
3 | Utilizzo delle impostazioni locali nel browser Possiamo iniziare a lavorare con locale includendo il file locale nel tag script. |
4 | Utilizzo delle impostazioni locali utilizzando Node.js Se ti capita di utilizzare Node.js, avrai i file di locale già nel momento in cui esegui l'installazione di npm. |
5 | momentjs_Listing dettagli data / ora della locale corrente Puoi impostare le impostazioni internazionali e controllare i dettagli come mesi, giorni feriali ecc. |
6 | Controllo della localizzazione corrente Possiamo controllare la localizzazione corrente usando moment.locale (). |
7 | Accesso alle funzionalità specifiche delle impostazioni locali Qui vedranno i metodi e le proprietà disponibili nella locale attualmente caricata. |
MomentJSpermette di aggiungere la personalizzazione al locale creato. Questo capitolo li discute in dettaglio.
Il seguente elenco mostra le personalizzazioni possibili sulla localizzazione:
Sr.No. | Localizzazione e descrizione |
---|---|
1 | Nomi dei mesi È possibile aggiungere nomi di mesi alla personalizzazione delle impostazioni locali. |
2 | Abbreviazione del mese Questo metodo aiuta a personalizzare le abbreviazioni dei mesi. |
3 | Nomi dei giorni feriali Questo metodo aiuta a personalizzare i nomi dei giorni feriali secondo le impostazioni locali. |
4 | Abbreviazione dei giorni feriali Questo metodo aiuta a personalizzare le abbreviazioni dei giorni feriali in base alle impostazioni locali. |
5 | Abbreviazione minima del giorno della settimana Questo metodo aiuta a personalizzare le abbreviazioni dei giorni feriali minimi in base alle impostazioni locali. |
6 | Formati di data lunga Questo metodo aiuta a personalizzare il formato longdate per una locale. |
7 | Tempo relativo Questo metodo aiuta a ottenere il tempo relativo. |
8 | AM PM Questo metodo aiuta a personalizzare il meridiem secondo le impostazioni locali. |
9 | Analisi AM / PM È possibile analizzare AM / PM utilizzando questo metodo. |
10 | Calendario Ciò aiuta a personalizzare l'oggetto calendario per un set di impostazioni locali. |
11 | Ordinale La visualizzazione ordinale delle date può essere modificata in base alle impostazioni locali. |
12 | Soglie di tempo relativo Viene utilizzato con duration.humanize dove la durata è visualizzata come un file few seconds ago, in a minute, an hour ago eccetera. |
MomentJS fornisce un'importante funzionalità chiamata durate che gestisce il periodo di tempo per determinate unità. In questo capitolo lo imparerai in dettaglio.
Metodi disponibili con durate
La tabella seguente mostra i metodi disponibili con durata per diverse unità da utilizzare con durata momento -
Metodo | Sintassi |
---|---|
Creazione | moment.duration (numero, stringa); moment.duration (Numero); moment.duration (Oggetto); moment.duration (String); |
Clone | moment.duration (). clone (); |
Umanizzare | moment.duration (). humanize (); |
Millisecondi | moment.duration (). millisecondi (); moment.duration (). asMilliseconds (); |
Secondi | moment.duration (). seconds (); moment.duration (). asSeconds (); |
Minuti | moment.duration (). minutes (); moment.duration (). asMinutes (); |
Ore | moment.duration (). ore (); moment.duration (). asHours (); |
Giorni | moment.duration (). giorni (); moment.duration (). asDays (); |
Settimane | moment.duration (). settimane (); moment.duration (). asWeeks (); |
Mesi | moment.duration (). months (); moment.duration (). asMonths (); |
Years | moment.duration (). years (); moment.duration (). asYears (); |
Aggiungi tempo | moment.duration (). add (Number, String); moment.duration (). add (Numero); moment.duration (). add (Durata); moment.duration (). add (Object); |
Sottrai tempo | moment.duration (). subtract (Number, String); moment.duration (). subtract (Number); moment.duration (). subtract (durata); moment.duration (). subtract (Object); |
Utilizzo della durata con diff | var duration = moment.duration (x.diff (y)) |
Come unità di tempo | moment.duration (). as (String); |
Ottieni unità di tempo | duration.get ('ore'); duration.get ('minutes'); duration.get ('secondi'); duration.get ('millisecondi'); |
Come JSON | moment.duration (). toJSON (); |
È una durata | moment.isDuration (obj); |
Come stringa ISO 8601 | moment.duration (). toISOString (); |
Locale | moment.duration (). locale (); moment.duration (). locale (String); |
In MomentJS, è possibile modificare o personalizzare l'output secondo il requisito utilizzando unità di normalizzazione e metodi non validi. Puoi anche impostare la tua convalida personalizzata sull'oggetto momento.
Per ulteriori informazioni, osservare la tabella seguente:
Sr.No. | Metodo e sintassi |
---|---|
1 | Normalizza unità moment.normalizeUnits (String); |
2 | Non valido moment.invalid (Object); |
I plugin sono funzionalità estese aggiunte su MomentJS. MomentJS è un progetto open source e molti plugin si trovano in MomentJS che sono forniti dai suoi utenti e disponibili utilizzando Node.js e GitHub.
Questo capitolo discute alcuni dei plugin dei calendari e dei formati di data disponibili in MomentJS.
Plugin del calendario
In questa sezione vengono descritti due tipi di plug-in di Calendar: ISO calendar and Taiwan calendar.
Calendario ISO
È possibile utilizzare il seguente comando per installarlo con Node.js:
npm install moment-isocalendar
Puoi ottenere il momento-isocalendar.js da GitHub - https://github.com/fusionbox/moment-isocalendar Osservare il seguente esempio di lavoro con isocalendar e MomentJS -
Example
var m = moment().isocalendar();
Output
Example
var m = moment.fromIsocalendar([2018, 51, 10, 670]).format('LLLL');
Output
Calendario di Taiwan
È possibile utilizzare il seguente comando per installarlo con Node.js:
npm install moment-jalaali
Puoi ottenere il momento-taiwan.js da GitHub - https://github.com/bradwoo8621/moment-taiwan Osservare il seguente esempio di lavoro con isocalendar e MomentJS -
Example
var m = moment('190/01/01', 'tYY/MM/DD');
var c = m.twYear();
Output
Plugin formati data
Questa sezione tratta i seguenti tipi di plugin per il formato della data:
- Analizzatore Java dateformat
- Formattatore data breve
- Formato data di analisi
- Formato durata
- Intervallo di date
- Gamma precisa
Parser Java DateFormat
È possibile utilizzare il seguente comando per installarlo con Node.js:
Puoi ottenere il momento-jdateformatparser.js da GitHub - https://github.com/MadMG/moment-jdateformatparser Osservare il seguente esempio di lavoro per moment-jdateformatparser e MomentJS -
Example
var m = moment().formatWithJDF("dd.MM.yyyy");
Output
Formattatore data breve
Il file JavaScript per shortdateformat può essere recuperato da GitHub -
https://github.com/researchgate/moment-shortformatSyntax
moment().short();
Il display ha l'aspetto mostrato nella tabella qui -
Dal momento | Dal momento (). Short () |
---|---|
Da 0 a 59 secondi | Da 0 a 59 s |
Da 1 a 59 minuti | Da 1 a 59 m |
Da 1 a 23 ore | Da 1 ora a 23 ore |
Da 1 a 6 giorni | Da 1d a 6d |
> = 7 giorni e stesso anno | Il display sarà come il 3 febbraio, 6 marzo |
> = 7 giorni e diff anno | Il display sarà come il 3 febbraio 2018, 6 marzo 2018 |
Puoi prendere lo script per un attimo dal link GitHub indicato sopra.
Example
var a = moment().subtract(8, 'hours').short();
var b = moment().add(1, 'hour').short(true);
Output
Se vuoi rimuovere il suffisso ago o in, puoi passare da true a short (tru.
Formato data di analisi
È possibile utilizzare il seguente comando per installarlo con Node.js:
npm install moment-parseformat
Example
var a = moment.parseFormat('Friday 2018 27 april 10:28:10');
Output
Si noti che l'output mostra che qualunque parametro (data / ora) è dato a parseFormat, fornisce il formato della data come mostrato sopra.
Formato durata
È possibile utilizzare il seguente comando per installare il formato di durata su Node.js:
Il repository per il formato della durata è disponibile qui - https://github.com/jsmreese/moment-duration-format Vediamo un esempio funzionante con il formato della durata:
Example
var a = moment.duration(969, "minutes").format("h:mm:ss");
Output
Questo aggiunge ulteriori dettagli alla durata nel momento creato.
Intervallo di date
È possibile utilizzare il seguente comando per installare l'intervallo di date su 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
Gamma precisa
L'intervallo preciso visualizzerà la differenza di data esatta in data, ora e in formato leggibile dall'uomo. È possibile utilizzare il seguente comando per installare un intervallo preciso su 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
Fino ad ora, abbiamo imparato molti concetti in MomentJS. Questo capitolo fornisce ulteriori esempi per una migliore comprensione.
Visualizza l'intervallo di date tra due date
Questo è un esempio che mostra le date tra due date date.
<!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>
Vogliamo visualizzare tutte le date tra 2014-05-01 per 2014-05-16. Abbiamo utilizzato la query della dataisSameOrAfter, date addition and date format per ottenere ciò che vogliamo.
Produzione
Mostra le domeniche tra il 01/05/2014 e il 16/08/2014
<!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>
Produzione
Visualizza i dettagli della data in base alle impostazioni internazionali
Qui stiamo usando lo script moment.locale che ha tutte le localizzazioni.
<!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>