Un modo utile e flessibile per formattare DateTimes in JavaScript è Intl.DateTimeFormat
:
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
Il risultato è: "12-Oct-2017"
I formati di data e ora possono essere personalizzati usando l'argomento opzioni.
L' Intl.DateTimeFormat
oggetto è un costruttore per oggetti che abilitano la formattazione della data e dell'ora sensibili al linguaggio.
Sintassi
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
parametri
locali
Opzionale. Una stringa con un tag di lingua BCP 47 o una matrice di tali stringhe. Per la forma generale e l'interpretazione dell'argomento locales, vedere la pagina Intl. Sono consentite le seguenti chiavi di estensione Unicode:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
Opzioni
Opzionale. Un oggetto con alcune o tutte le seguenti proprietà:
localeMatcher
L'algoritmo di corrispondenza locale da utilizzare. I valori possibili sono "lookup"
e "best fit"
; il valore predefinito è "best fit"
. Per informazioni su questa opzione, consultare la pagina Intl.
fuso orario
Il fuso orario da utilizzare. L'unico valore che le implementazioni devono riconoscere è "UTC"
; il valore predefinito è il fuso orario predefinito del runtime. Implementazioni possono anche riconoscere i nomi di fuso orario del database dei fusi orari IANA, come ad esempio "Asia/Shanghai"
, "Asia/Kolkata"
, "America/New_York"
.
hour12
Se utilizzare il tempo di 12 ore (rispetto al tempo di 24 ore). I valori possibili sono true
e false
; l'impostazione predefinita dipende dalle impostazioni locali.
formatMatcher
L'algoritmo di corrispondenza del formato da utilizzare. I valori possibili sono "basic"
e "best fit"
; il valore predefinito è "best fit"
. Vedere i paragrafi seguenti per informazioni sull'uso di questa proprietà.
Le seguenti proprietà descrivono i componenti data-ora da utilizzare nell'output formattato e le loro rappresentazioni desiderate. Le implementazioni sono necessarie per supportare almeno i seguenti sottoinsiemi:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Le implementazioni possono supportare altri sottoinsiemi e le richieste verranno negoziate con tutte le combinazioni di rappresentazioni di sottoinsiemi disponibili per trovare la corrispondenza migliore. Per questa negoziazione sono disponibili due algoritmi e selezionati dalla proprietà formatMatcher: A completamente specificato"basic"
algoritmo e un algoritmo "best fit" dipendente dall'implementazione.
giorno feriale
La rappresentazione del giorno della settimana. I valori possibili sono "narrow"
, "short"
, "long"
.
era
La rappresentazione dell'era. I valori possibili sono "narrow"
, "short"
, "long"
.
anno
La rappresentazione dell'anno. I valori possibili sono "numeric"
, "2-digit"
.
mese
La rappresentazione del mese. I valori possibili sono "numeric"
, "2-digit"
, "narrow"
, "short"
, "long"
.
giorno
La rappresentazione del giorno. I valori possibili sono "numeric"
,"2-digit"
.
ora
La rappresentazione dell'ora. I valori possibili sono "numeric"
, "2-digit"
.
minuto
La rappresentazione del minuto. I valori possibili sono "numeric"
, "2-digit"
.
secondo
La rappresentazione del secondo. I valori possibili sono "numeric"
, "2-digit"
.
TimeZoneName
La rappresentazione del nome del fuso orario. I valori possibili sono "short"
, "long"
. Il valore predefinito per ciascuna proprietà del componente data-ora non è definito, ma se tutte le proprietà del componente non sono definite, si presume che siano anno, mese e giorno "numeric"
.
Controlla online
Più dettagli