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
|
// |reftest| skip-if(!this.hasOwnProperty("Intl"))
var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", {
era: "short",
timeZone: "Asia/Tokyo",
});
var endShowa = new Date("1989-01-07T00:00:00.000Z");
var startHeisei = new Date("1989-01-08T00:00:00.000Z");
assertEq(dtf.format(endShowa), "昭和64/1/7");
assertEq(dtf.format(startHeisei), "平成1/1/8");
var parts = dtf.formatToParts(startHeisei);
assertEq(parts.filter(p => p.type === "era")[0].value, "平成");
assertEq(parts.filter(p => p.type === "year")[0].value, "1");
var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", {
era: "short",
year: "numeric",
month: "long",
day: "numeric",
timeZone: "Asia/Tokyo",
});
assertEq(dtf.format(endShowa), "昭和64年1月7日");
assertEq(dtf.format(startHeisei), "平成元年1月8日");
var parts = dtf.formatToParts(startHeisei);
assertEq(parts.filter(p => p.type === "era")[0].value, "平成");
assertEq(parts.filter(p => p.type === "year")[0].value, "元");
// ICU returns mixed numbers when an explicit numbering system is present.
var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", {
era: "short",
timeZone: "Asia/Tokyo",
});
assertEq(dtf.format(endShowa), "昭和٦٤/١/٧");
assertEq(dtf.format(startHeisei), "平成١/١/٨");
var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", {
era: "short",
year: "numeric",
month: "numeric",
timeZone: "Asia/Tokyo",
});
assertEq(dtf.format(endShowa), "昭和64年١月");
assertEq(dtf.format(startHeisei), "平成元年١月");
if (typeof reportCompare === "function")
reportCompare(0, 0);
|