Baseline Widely available
ÐеÑод toLocaleString()
ÑкземплÑÑов Date
возвÑаÑÐ°ÐµÑ ÑÑÑокÑ, ÑодеÑжаÑÑÑ Ð·Ð°Ð²Ð¸Ñимое Ð¾Ñ ÑзÑка пÑедÑÑавление ÑÑой даÑÑ Ð² локалÑном ÑаÑовом поÑÑе. Ð ÑеализаÑиÑÑ
, поддеÑживаÑÑиÑ
Intl.DateTimeFormat
API, ÑÑÐ¾Ñ Ð¼ÐµÑод пÑоÑÑо вÑзÑÐ²Ð°ÐµÑ Intl.DateTimeFormat
.
ÐÑи каждом вÑзове toLocaleString
пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð¸Ñк по болÑÑой базе локализованнÑÑ
ÑÑÑок, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑÑÑекÑивнÑм. Ðогда меÑод вÑзÑваеÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ Ñаз Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñми паÑамеÑÑами, лÑÑÑе ÑоздаÑÑ Ð¾Ð±ÑÐµÐºÑ Intl.DateTimeFormat
и иÑполÑзоваÑÑ ÐµÐ³Ð¾ меÑод format()
, поÑÐ¾Ð¼Ñ ÑÑо обÑÐµÐºÑ DateTimeFormat
Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÐµÑ Ð¿ÐµÑеданнÑе ÐµÐ¼Ñ Ð¿Ð°ÑамеÑÑÑ Ð¸ Ð¼Ð¾Ð¶ÐµÑ ÐºÐµÑиÑоваÑÑ Ð´Ð°Ð½Ð½Ñе, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑледÑÑÑие вÑÐ·Ð¾Ð²Ñ format
могли вÑполнÑÑÑ Ð¿Ð¾Ð¸Ñк Ñ Ð±Ð¾Ð»ÐµÐµ опÑеделÑннÑм конÑекÑÑом.
const event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// British English uses day-month-year order and 24-hour time without AM/PM
console.log(event.toLocaleString("en-GB", { timeZone: "UTC" }));
// Expected output: "20/12/2012, 03:00:00"
// Korean uses year-month-day order and 12-hour time with AM/PM
console.log(event.toLocaleString("ko-KR", { timeZone: "UTC" }));
// Expected output: "2012. 12. 20. ì¤ì 3:00:00"
СинÑакÑиÑ
toLocaleString()
toLocaleString(locales)
toLocaleString(locales, options)
ÐаÑамеÑÑÑ
ÐаÑамеÑÑÑ locales
и options
изменÑÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ ÑÑнкÑии и позволÑÑÑ Ð¿ÑиложениÑм опÑеделÑÑÑ ÑзÑк, пÑавила ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑоÑого, ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ.
Ð ÑеализаÑиÑÑ
, поддеÑживаÑÑиÑ
Intl.DateTimeFormat
API, ÑÑи паÑамеÑÑÑ ÑооÑвеÑÑÑвÑÑÑ Ð¿Ð°ÑамеÑÑам конÑÑÑÑкÑоÑа Intl.DateTimeFormat()
. РеализаÑии без поддеÑжки Intl.DateTimeFormat
Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð¾Ð±Ð° паÑамеÑÑа, иÑполÑзÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ ÑоÑÐ¼Ð°Ñ Ð²Ð¾Ð·Ð²ÑаÑаемой ÑÑÑоки опÑеделÑемÑе Ñамой ÑеализаÑией.
locales
ÐеобÑзаÑелÑнÑй
СÑÑока Ñ ÑзÑковÑм Ñегом BCP 47 или маÑÑив ÑакиÑ
ÑÑÑок. СооÑвеÑÑÑвÑÐµÑ Ð¿Ð°ÑамеÑÑÑ locales
конÑÑÑÑкÑоÑа `Intl.DateTimeFormat().
Ð ÑеализаÑиÑÑ
без поддеÑжки Intl.DateTimeFormat
ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ Ð¸ обÑÑно иÑполÑзÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ ÑÑÑÑойÑÑва.
options
ÐеобÑзаÑелÑнÑй
ÐбÑÐµÐºÑ Ð¾Ð¿ÑеделÑÑÑий вÑÑ
одной ÑоÑмаÑ. СооÑвеÑÑÑвÑÐµÑ Ð¿Ð°ÑамеÑÑÑ options
конÑÑÑÑкÑоÑа Intl.DateTimeFormat()
. ÐпÑÐ¸Ñ timeStyle
должна бÑÑÑ undefined
или бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑ TypeError
. ÐÑли weekday
, year
, month
и day
одновÑеменно ÑÐ°Ð²Ð½Ñ undefined
, Ñо year
, month
и day
бÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² "numeric"
.
Ð ÑеализаÑиÑÑ
без поддеÑжки Intl.DateTimeFormat
ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ.
СмоÑÑиÑе опиÑание конÑÑÑÑкÑоÑа Intl.DateTimeFormat()
Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑиÑ
паÑамеÑÑов.
СÑÑока, пÑедÑÑавлÑÑÑÐ°Ñ ÑказаннÑÑ Ð´Ð°ÑÑ Ð² ÑооÑвеÑÑÑвии Ñ ÑзÑковÑми ÑÑебованиÑми.
Ð ÑеализаÑиÑÑ
Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Intl.DateTimeFormat
ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ ÑквиваленÑнÑм new Intl.DateTimeFormat(locales, options).format(date)
.
ÐÑимеÑание: РболÑÑинÑÑве ÑлÑÑаев ÑоÑмаÑиÑование, возвÑаÑаемое toLocaleString()
, единообÑазно. Ðднако ÑезÑлÑÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑазнÑм в завиÑимоÑÑи Ð¾Ñ Ð²Ñемени, ÑзÑка и ÑеализаÑии â ÑÑо допÑÑкаеÑÑÑ ÑпеÑиÑикаÑией. Ðе ÑледÑÐµÑ ÑÑавниваÑÑ ÑезÑлÑÑÐ°Ñ toLocaleString()
Ñо ÑÑаÑиÑеÑкими знаÑениÑми.
toLocaleString()
ÐÑи иÑполÑзовании без ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ возвÑаÑаеÑÑÑ ÑÑÑока, оÑÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð² ÑооÑвеÑÑÑвии Ñ Ð»Ð¾ÐºÐ°Ð»ÑÑ Ð¸ наÑÑÑойками по ÑмолÑаниÑ.
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// ÐÑвод toLocaleString() без паÑамеÑÑов завиÑÐ¸Ñ Ð¾Ñ ÑеализаÑии,
// локали по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ ÑаÑового поÑÑа по ÑмолÑаниÑ
console.log(date.toLocaleString());
// "12/11/2012, 7:00:00 PM", еÑли код запÑÑен Ñ Ð»Ð¾ÐºÐ°Ð»ÑÑ en-US и ÑаÑовÑм поÑÑом America/Los_Angeles
ÐÑовеÑка поддеÑжки паÑамеÑÑов locales
и options
ÐаÑамеÑÑÑ locales
и options
могÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð½Ðµ во вÑеÑ
ÑеализаÑиÑÑ
. Ð ÑеализаÑиÑÑ
без поддеÑжки инÑеÑнаÑионализаÑии toLocaleString()
вÑегда иÑполÑзÑÐµÑ ÑиÑÑемнÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð½Ðµ Ñем, ÑÑо вам нÑжно. ÐоÑколÑÐºÑ Ð»ÑÐ±Ð°Ñ ÑеализаÑиÑ, поддеÑживаÑÑÐ°Ñ Ð¿Ð°ÑамеÑÑÑ locales
и options
, должна поддеÑживаÑÑ Intl
API, пÑовеÑиÑÑ Ð½Ð°Ð»Ð¸Ñие поÑледней можно Ñаким ÑпоÑобом:
function toLocaleStringSupportsLocales() {
return (
typeof Intl === "object" &&
!!Intl &&
typeof Intl.DateTimeFormat === "function"
);
}
ÐÑполÑзование паÑамеÑÑа locales
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе локализованнÑе ÑоÑмаÑÑ Ð´Ð°ÑÑ Ð¸ вÑемени. ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑоÑмаÑа ÑзÑка, иÑполÑзÑемого в полÑзоваÑелÑÑком инÑеÑÑейÑе ваÑего пÑиложениÑ, ÑбедиÑеÑÑ, ÑÑо Ð²Ñ Ñказали ÑÑÐ¾Ñ ÑзÑк (и, возможно, неÑколÑко запаÑнÑÑ
ÑзÑков) иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ locales
:
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// ФоÑмаÑиÑование ниже пÑедполагаеÑ, ÑÑо меÑÑнÑй ÑаÑовой поÑÑ Ñавен
// America/Los_Angeles Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ СШÐ
// РамеÑиканÑком английÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок меÑÑÑ-денÑ-год
// и 12-ÑаÑовой ÑоÑÐ¼Ð°Ñ Ð²Ñемени
console.log(date.toLocaleString("en-US"));
// "12/19/2012, 7:00:00 PM"
// РбÑиÑанÑком английÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок денÑ-меÑÑÑ-год
// и 24-ÑаÑовой ÑоÑÐ¼Ð°Ñ Ð²Ñемени
console.log(date.toLocaleString("en-GB"));
// "20/12/2012 03:00:00"
// РкоÑейÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок год-меÑÑÑ-денÑ
// и 12-ÑаÑовой ÑоÑÐ¼Ð°Ñ Ð²Ñемени
console.log(date.toLocaleString("ko-KR"));
// "2012. 12. 20. ì¤í 12:00:00"
// РболÑÑинÑÑве аÑабоÑзÑÑнÑÑ
ÑÑÑан иÑполÑзÑÑÑ Ð½Ð°ÑÑоÑÑие аÑабÑкие ÑиÑÑÑ
console.log(date.toLocaleString("ar-EG"));
// "Ù¢Ù â/١٢â/٢٠١٢ Ù¥:Ù Ù :٠٠ص"
// РЯпонии пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ñ
оÑеÑÑ Ð¸ÑполÑзоваÑÑ ÑпонÑкий календаÑÑ,
// в коÑоÑом 2012 год ÑвлÑеÑÑÑ 24-м годом ÑÑÑ Ð¥ÐµÐ¹Ñей
console.log(date.toLocaleString("ja-JP-u-ca-japanese"));
// "24/12/20 12:00:00"
// ÐÑли запÑаÑиваемÑй ÑзÑк Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ поддеÑживаÑÑÑÑ, напÑимеÑ
// балийÑкий, оÑкаÑÑваемÑÑ Ð½Ð° запаÑной ÑзÑк, в данном ÑлÑÑае индонезийÑкий
console.log(date.toLocaleString(["ban", "id"]));
// "20/12/2012 11.00.00"
ÐÑполÑзование паÑамеÑÑа options
РезÑлÑÑаÑ, пÑедоÑÑавлÑемÑй меÑодом toLocaleString()
, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑÑоен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑа options
:
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// ÐапÑаÑиваем Ð´ÐµÐ½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ вмеÑÑе Ñ Ð´Ð»Ð¸Ð½Ð½Ñм ÑоÑмаÑом даÑÑ
var options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
console.log(date.toLocaleString("de-DE", options));
// "Donnerstag, 20. Dezember 2012"
// ÐÑиложение Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ñ
оÑеÑÑ Ð¸ÑполÑзоваÑÑ UTC и показаÑÑ ÑÑо
options.timeZone = "UTC";
options.timeZoneName = "short";
console.log(date.toLocaleString("en-US", options));
// "Thursday, December 20, 2012, GMT"
// Ðногда даже в СШРнÑжен 24-Ñ
ÑаÑовой ÑоÑÐ¼Ð°Ñ Ð²Ñемени
console.log(date.toLocaleString("en-US", { hour12: false }));
// "12/19/2012, 19:00:00"
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4