Przydatnym i elastycznym sposobem formatowania DateTimes w JavaScript jest 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,'-'));
Wynik to: "12-Oct-2017"
Formaty daty i godziny można dostosować za pomocą argumentu opcji.
Intl.DateTimeFormat
Obiekt jest konstruktor dla obiektów, które umożliwiają języka wrażliwego formatowanie daty i czasu.
Składnia
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
Parametry
lokalizacje
Opcjonalny. Ciąg ze znacznikiem języka BCP 47 lub tablica takich ciągów. Ogólną formę i interpretację argumentu locales można znaleźć na stronie Intl. Dozwolone są następujące klucze rozszerzenia 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".
Opcje
Opcjonalny. Obiekt posiadający niektóre lub wszystkie z następujących właściwości:
localeMatcher
Algorytm dopasowywania ustawień regionalnych do użycia. Możliwe wartości to "lookup"
i "best fit"
; domyślnie jest to "best fit"
. Aby uzyskać informacje o tej opcji, zobacz stronę Intl.
strefa czasowa
Strefa czasowa do użycia. Jedyne implementacje wartości, które muszą rozpoznać, to "UTC"
; wartością domyślną jest domyślna strefa czasowa środowiska wykonawczego. Implementacje mogą także rozpoznawać nazwy strefy czasowej bazy danych stref czasowych IANA, takie jak "Asia/Shanghai"
, "Asia/Kolkata"
, "America/New_York"
.
godzina 12
Określa, czy użyć 12-godzinnego czasu (w przeciwieństwie do 24-godzinnego). Możliwe wartości to true
i false
; wartość domyślna zależy od ustawień regionalnych.
formatMatcher
Używany algorytm dopasowywania formatu. Możliwe wartości to "basic"
i "best fit"
; domyślnie jest to "best fit"
. Informacje o korzystaniu z tej właściwości znajdują się w poniższych akapitach.
Poniższe właściwości opisują składniki daty i godziny, które mają być użyte w sformatowanym wyjściu, oraz ich pożądane reprezentacje. Implementacje są wymagane do obsługi co najmniej następujących podzbiorów:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Implementacje mogą obsługiwać inne podzbiory, a żądania będą negocjowane ze wszystkimi dostępnymi kombinacjami podzbiorów w celu znalezienia najlepszego dopasowania. Do tej negocjacji dostępne są dwa algorytmy wybrane przez właściwość formatMatcher: W pełni określony "basic"
algorytm i zależny od implementacji algorytm „najlepszego dopasowania”.
dzień powszedni
Przedstawienie dnia tygodnia. Możliwe są następujące wartości "narrow"
, "short"
, "long"
.
era
Reprezentacja epoki. Możliwe są następujące wartości "narrow"
, "short"
, "long"
.
rok
Przedstawienie roku. Możliwe są następujące wartości "numeric"
, "2-digit"
.
miesiąc
Reprezentacja miesiąca. Możliwe są następujące wartości "numeric"
, "2-digit"
, "narrow"
, "short"
, "long"
.
dzień
Reprezentacja dnia. Możliwe są następujące wartości "numeric"
, "2-digit"
.
godzina
Reprezentacja godziny. Możliwe są następujące wartości "numeric"
, "2-digit"
.
minuta
Reprezentacja minuty. Możliwe są następujące wartości "numeric"
, "2-digit"
.
druga
Reprezentacja drugiego. Możliwe są następujące wartości "numeric"
, "2-digit"
.
timeZoneName
Reprezentacja nazwy strefy czasowej. Możliwe są następujące wartości "short"
, "long"
. Wartość domyślna dla każdej właściwości komponentu data-czas jest niezdefiniowana, ale jeśli wszystkie właściwości komponentu są niezdefiniowane, zakłada się, że rok, miesiąc i dzień są "numeric"
.
Sprawdź online
Więcej szczegółów