Baseline Widely available
ÐбÑÐµÐºÑ Intl.DateTimeFormat
пÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°ÑÑ Ð¸ вÑемени в ÑооÑвеÑÑÑвии Ñ ÑзÑковÑми пÑавилами.
const date = new Date(Date.UTC(2020, 11, 20, 3, 23, 16, 738));
// Results below assume UTC timezone - your results may vary
// Specify default date formatting for language (locale)
console.log(new Intl.DateTimeFormat("en-US").format(date));
// Expected output: "12/20/2020"
// Specify default date formatting for language with a fallback language (in this case Indonesian)
console.log(new Intl.DateTimeFormat(["ban", "id"]).format(date));
// Expected output: "20/12/2020"
// Specify date and time format using "style" options (i.e. full, long, medium, short)
console.log(
new Intl.DateTimeFormat("en-GB", {
dateStyle: "full",
timeStyle: "long",
timeZone: "Australia/Sydney",
}).format(date),
);
// Expected output: "Sunday, 20 December 2020 at 14:23:16 GMT+11"
ÐонÑÑÑÑкÑоÑ
Intl.DateTimeFormat()
СоздаÑÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ Intl.DateTimeFormat
.
Intl.DateTimeFormat.supportedLocalesOf()
ÐозвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив, ÑодеÑжаÑий локали, коÑоÑÑе поддеÑживаÑÑÑÑ Ð±ÐµÐ· Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи возвÑаÑа к локали по ÑмолÑаниÑ.
ÐÑи ÑвойÑÑва опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² Intl.DateTimeFormat.prototype
и еÑÑÑ Ñ Ð²ÑеÑ
ÑкземплÑÑов Intl.DateTimeFormat
.
Intl.DateTimeFormat.prototype.constructor
ФÑнкÑиÑ-конÑÑÑÑкÑоÑ, ÑоздаÑÑÐ°Ñ ÑкземплÑÑ Ð¾Ð±ÑекÑа. ÐÐ»Ñ ÑкземплÑÑов Intl.DateTimeFormat
наÑалÑнÑм знаÑением ÑвлÑеÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¾Ñ Intl.DateTimeFormat
.
Intl.DateTimeFormat.prototype[@@toStringTag]
ÐаÑалÑнÑм знаÑением ÑвойÑÑва @@toStringTag
ÑвлÑеÑÑÑ ÑÑÑока "Intl.DateTimeFormat"
. ÐÑо ÑвойÑÑво иÑполÑзÑеÑÑÑ Ð² Object.prototype.toString()
.
Intl.DateTimeFormat.prototype.format()
ФÑнкÑиÑ-геÑÑеÑ, коÑоÑÐ°Ñ ÑоÑмаÑиÑÑÐµÑ Ð´Ð°ÑÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð»Ð¾ÐºÐ°Ð»ÑÑ Ð¸ наÑÑÑойками ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑого обÑекÑа DateTimeFormat
.
Intl.DateTimeFormat.prototype.formatRange()
ÐÑÐ¾Ñ Ð¼ÐµÑод пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð²Ðµ даÑÑ Ð¸ ÑоÑмаÑиÑÑÐµÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ð´Ð°Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ кÑаÑким обÑазом на оÑнове локали и паÑамеÑÑов, ÑÑÑановленнÑÑ
пÑи Ñоздании ÑкземплÑÑа DateTimeFormat
.
Intl.DateTimeFormat.prototype.formatRangeToParts()
ÐÑÐ¾Ñ Ð¼ÐµÑод пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð²Ðµ даÑÑ Ð¸ возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив обÑекÑов, коÑоÑÑе ÑодеÑÐ¶Ð°Ñ ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ ÑокенÑ, пÑедÑÑавлÑÑÑие каждÑÑ ÑаÑÑÑ Ð¾ÑÑоÑмаÑиÑованного диапазона даÑ.
Intl.DateTimeFormat.prototype.formatToParts()
ÐозвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив
обÑекÑов, пÑедÑÑавлÑÑÑиÑ
ÑаÑÑи даÑÑ, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑÑÑÑом локали.
Intl.DateTimeFormat.prototype.resolvedOptions()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ Ñо ÑвойÑÑвами, пÑедÑÑавлÑÑÑими Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ наÑÑÑойки ÑоÑмаÑиÑованиÑ, опÑеделÑннÑе во вÑÐµÐ¼Ñ Ð¸Ð½Ð¸ÑиализаÑии обÑекÑа.
DateTimeFormat
ÐÑи иÑполÑзовании без ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ DateTimeFormat
иÑполÑзÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ наÑÑÑойки по ÑмолÑаниÑ.
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// ÑезÑлÑÑÐ°Ñ Ð²Ñзова без аÑгÑменÑов завиÑÐ¸Ñ Ð¾Ñ ÑеализаÑии,
// локали по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ ÑаÑового поÑÑа по ÑмолÑаниÑ
console.log(new Intl.DateTimeFormat().format(date));
// "12/19/2012", еÑли код запÑÑен Ñ Ð»Ð¾ÐºÐ°Ð»ÑÑ en-US и ÑаÑовÑм поÑÑом America/Los_Angeles
ÐÑполÑзование паÑамеÑÑа locales
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе локализованнÑе ÑоÑмаÑÑ Ð´Ð°ÑÑ Ð¸ вÑемени. ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑоÑмаÑа ÑзÑка, иÑполÑзÑемого в полÑзоваÑелÑÑком инÑеÑÑейÑе ваÑего пÑиложениÑ, ÑбедиÑеÑÑ, ÑÑо Ð²Ñ Ñказали ÑÑÐ¾Ñ ÑзÑк (и, возможно, неÑколÑко запаÑнÑÑ
ÑзÑков) иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ locales
:
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// ФоÑмаÑиÑование ниже пÑедполагаеÑ, ÑÑо меÑÑнÑй ÑаÑовой поÑÑ Ñавен
// America/Los_Angeles Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ СШÐ
// РамеÑиканÑком английÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок меÑÑÑ-денÑ-год
console.log(new Intl.DateTimeFormat("en-US").format(date));
// "12/19/2012"
// РбÑиÑанÑком английÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок денÑ-меÑÑÑ-год
console.log(new Intl.DateTimeFormat("en-GB").format(date));
// "20/12/2012"
// РкоÑейÑком иÑполÑзÑеÑÑÑ Ð¿Ð¾ÑÑдок год-меÑÑÑ-денÑ
console.log(new Intl.DateTimeFormat("ko-KR").format(date));
// "2012. 12. 20."
// РболÑÑинÑÑве аÑабоÑзÑÑнÑÑ
ÑÑÑан иÑполÑзÑÑÑ Ð½Ð°ÑÑоÑÑие аÑабÑкие ÑиÑÑÑ
console.log(new Intl.DateTimeFormat("ar-EG").format(date));
// "Ù¢Ù â/١٢â/٢٠١٢"
// РЯпонии пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ñ
оÑеÑÑ Ð¸ÑполÑзоваÑÑ ÑпонÑкий календаÑÑ,
// в коÑоÑом 2012 год ÑвлÑеÑÑÑ 24-м годом ÑÑÑ Ð¥ÐµÐ¹Ñей
console.log(new Intl.DateTimeFormat("ja-JP-u-ca-japanese").format(date));
// "24/12/20"
// ÐÑли запÑаÑиваемÑй ÑзÑк Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ поддеÑживаÑÑÑÑ, напÑимеÑ
// балийÑкий, оÑкаÑÑваемÑÑ Ð½Ð° запаÑной ÑзÑк, в данном ÑлÑÑае индонезийÑкий
console.log(new Intl.DateTimeFormat(["ban", "id"]).format(date));
// "20/12/2012"
ÐÑполÑзование паÑамеÑÑа options
ФоÑÐ¼Ð°Ñ Ð´Ð°ÑÑ Ð¸ вÑемени Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑÑоен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑа options
:
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0, 200));
// ÐапÑаÑиваем Ð´ÐµÐ½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ вмеÑÑе Ñ Ð´Ð»Ð¸Ð½Ð½Ñм ÑоÑмаÑом даÑÑ
let options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
console.log(new Intl.DateTimeFormat("de-DE", options).format(date));
// "Donnerstag, 20. Dezember 2012"
// ÐÑиложение Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ñ
оÑеÑÑ Ð¸ÑполÑзоваÑÑ UTC и показаÑÑ ÑÑо
options.timeZone = "UTC";
options.timeZoneName = "short";
console.log(new Intl.DateTimeFormat("en-US", options).format(date));
// "Thursday, December 20, 2012, GMT"
// Ðногда ÑÑебÑеÑÑÑ Ð±Ð¾Ð»ÑÑÐ°Ñ ÑоÑноÑÑÑ
options = {
hour: "numeric",
minute: "numeric",
second: "numeric",
timeZone: "Australia/Sydney",
timeZoneName: "short",
};
console.log(new Intl.DateTimeFormat("en-AU", options).format(date));
// "2:00:00 pm AEDT"
// Ðногда ÑÑебÑеÑÑÑ ÐµÑÑ Ð±Ð¾Ð»ÑÑÐ°Ñ ÑоÑноÑÑÑ
options.fractionalSecondDigits = 3; // колиÑеÑÑво ÑиÑÑ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»ÐµÐ¹ ÑекÑнд
console.log(new Intl.DateTimeFormat("en-AU", options).format(date));
// "2:00:00.200 pm AEDT"
// Ðногда даже в СШРнÑжен 24-ÑаÑовой ÑоÑÐ¼Ð°Ñ Ð²Ñемени
options = {
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
second: "numeric",
hour12: false,
timeZone: "America/Los_Angeles",
};
console.log(new Intl.DateTimeFormat("en-US", options).format(date));
// "12/19/2012, 19:00:00"
// ÐÐ»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð½Ð°ÑÑÑоек, но иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ по ÑмолÑаниÑ, нÑжно пеÑедаÑÑ undefined
console.log(new Intl.DateTimeFormat(undefined, options).format(date));
// "12/19/2012, 19:00:00"
// Ðногда полезно вклÑÑаÑÑ Ð²ÑÐµÐ¼Ñ ÑÑÑок
options = { hour: "numeric", dayPeriod: "short" };
console.log(new Intl.DateTimeFormat("en-US", options).format(date));
// 10 at night
ФоÑмаÑÑ ÐºÐ°Ð»ÐµÐ½Ð´Ð°ÑÑ Ð¸ нÑмеÑаÑии Ñакже можно ÑÑÑановиÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑа options
:
const options = { calendar: "chinese", numberingSystem: "arab" };
const dateFormat = new Intl.DateTimeFormat(undefined, options);
const usedOptions = dateFormat.resolvedOptions();
console.log(usedOptions.calendar);
// "chinese"
console.log(usedOptions.numberingSystem);
// "arab"
console.log(usedOptions.timeZone);
// "America/New_York" (the users default timezone)
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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