Source code

Revision control

Copy as Markdown

Other Tools

// |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);