1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
---
title: Date.prototype.toLocaleDateString()
slug: Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
tags:
- Date
- JavaScript
- Інтернаціоналізація
- Довідка
- метод
translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
---
<div>{{JSRef}}</div>
<p>Метод <strong><code>toLocaleDateString()</code></strong> повертає рядкове представлення елементів дати у відповідності до налаштувань мови. Нові аргументи <code>locales</code> та <code>options</code> дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись, а також дозволяють налаштовувати поведінку функції. У старших реалізаціях, що ігнорують аргументи <code>locales</code> та <code>options</code>, мовні налаштування та форма рядка, що повертається, повністю залежать від реалізації.</p>
<div>{{EmbedInteractiveExample("pages/js/date-tolocaledatestring.html")}}</div>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox notranslate"><var>dateObj</var>.toLocaleDateString([<var>locales</var> [, <var>options</var>]])</pre>
<h3 id="Параметри">Параметри</h3>
<p>Аргументи <code>locales</code> та <code>options</code> налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи <code>locales</code> та <code>options</code>, локальні налаштування та форма поверненого рядка повністю залежать від реалізації.</p>
<p>Дивіться <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/DateTimeFormat">конструктор <code>Intl.DateTimeFormat()</code></a>, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.</p>
<p>Значенням за замовчуванням для кожної властивості компонента дати-часу є {{jsxref("undefined")}}, але, якщо властивості <code>weekday</code>, <code>year</code>, <code>month</code>, <code>day</code> усі дорівнюють {{jsxref("undefined")}}, тоді <code>year</code>, <code>month</code> та <code>day</code> вважаються числовими значеннями.</p>
<h3 id="Повертає">Повертає</h3>
<p>Рядкове відображення елементів дати наданого екземпляра {{jsxref("Global_Objects/Date", "Date")}} у відповідності до налаштувань мови.</p>
<h2 id="Швидкодія">Швидкодія</h2>
<p>При форматуванні великої кількості дат краще створити об'єкт {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} та використовувати функцію, надану його властивістю {{jsxref("DateTimeFormat.prototype.format", "format")}}.</p>
<h2 id="Приклади">Приклади</h2>
<h3 id="Використання_toLocaleDateString">Використання <code>toLocaleDateString()</code></h3>
<p>При загальному використанні, без зазначення мови, повертається рядок у мовному форматі, що стоїть за замовчуванням, та з початковими параметрами.</p>
<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleDateString() без аргументів залежить від реалізації,
// мова та часовий пояс за замовчуванням
console.log(date.toLocaleDateString());
// → "12/11/2012" при використанні мови en-US з часовим поясом America/Los_Angeles
</pre>
<h3 id="Перевірка_підтримки_аргументів_locales_та_options">Перевірка підтримки аргументів <code>locales</code> та <code>options</code></h3>
<p>Аргументи <code>locales</code> та <code>options</code> ще не підтримуються в усіх переглядачах. Для перевірки їхньої підтримки у реалізації можна скористатись вимогою, згідно якої недозволені мовні позначення відхиляються з винятком {{jsxref("RangeError")}}:</p>
<pre class="brush: js notranslate">function toLocaleDateStringSupportsLocales() {
try {
new Date().toLocaleDateString('i');
} catch (e) {
return e.name === 'RangeError';
}
return false;
}
</pre>
<h3 id="Використання_locales">Використання <code>locales</code></h3>
<p>Цей приклад демонструє деякі варіації локалізованих форматів дат. Щоб отримати формат мови, задіяної в інтерфейсі вашого застосутку, переконайтесь, що вказали цю мову (та, можливо, кілька запасних мов) за допомогою аргументу <code>locales</code>:</p>
<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// наведені приклади припускають використання локального часового поясу для мови;
// для US це America/Los_Angeles
// В американській англійській використовується порядок місяць-день-рік
console.log(date.toLocaleDateString('en-US'));
// → "12/19/2012"
// У британській англійській використовується порядок день-місяць-рік
console.log(date.toLocaleDateString('en-GB'));
// → "20/12/2012"
// Корейська мова використовує порядок рік-місяць-день
console.log(date.toLocaleDateString('ko-KR'));
// → "2012. 12. 20."
// Подія для перської, важко вручну привести дату до календаря сонячної хіджри
console.log(date.toLocaleDateString('fa-IR'));
// → "۱۳۹۱/۹/۳۰"
// Арабська у більшості арабськомовних країн використовує справжні арабські цифри
console.log(date.toLocaleDateString('ar-EG'));
// → "<span dir="rtl">٢٠/١٢/٢٠١٢</span>"
// для японської мови застосунки можуть використати японський календар,
// де 2012-й був 24-м роком епохи Хейсей
console.log(date.toLocaleDateString('ja-JP-u-ca-japanese'));
// → "24/12/20"
// при запиті мови, яка, можливо, не підтримується, наприклад,
// балійської, додайте запасні мови, в даному випадку це індонезійська
console.log(date.toLocaleDateString(['ban', 'id']));
// → "20/12/2012"</pre>
<h3 id="Використання_options">Використання <code>options</code></h3>
<p>Результат методу <code>toLocaleDateString()</code> можна налаштувати за допомогою аргументу <code>options</code>:</p>
<pre class="brush: js notranslate">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// вивести день тижня разом з довгою датою
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(date.toLocaleDateString('de-DE', options));
// → "Donnerstag, 20. Dezember 2012"
// застосунок може використати час UTC, так, щоб це було видно
options.timeZone = 'UTC';
options.timeZoneName = 'short';
console.log(date.toLocaleDateString('en-US', options));
// → "Thursday, December 20, 2012, GMT"
</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Специфікація</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-date.prototype.tolocaledatestring', 'Date.prototype.toLocaleDateString')}}</td>
</tr>
<tr>
<td>{{SpecName('ES Int Draft', '#sup-date.prototype.tolocaledatestring', 'Date.prototype.toLocaleDateString')}}</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("javascript.builtins.Date.toLocaleDateString")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li>{{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}</li>
<li>{{jsxref("Date.prototype.toLocaleString()")}}</li>
<li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li>
<li>{{jsxref("Date.prototype.toString()")}}</li>
</ul>
|