japanese-gannen-year.js (1623B)
1 // |reftest| skip-if(!this.hasOwnProperty("Intl")) 2 3 var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", { 4 era: "short", 5 timeZone: "Asia/Tokyo", 6 }); 7 8 var endShowa = new Date("1989-01-07T00:00:00.000Z"); 9 var startHeisei = new Date("1989-01-08T00:00:00.000Z"); 10 11 assertEq(dtf.format(endShowa), "昭和64/1/7"); 12 assertEq(dtf.format(startHeisei), "平成1/1/8"); 13 14 var parts = dtf.formatToParts(startHeisei); 15 assertEq(parts.filter(p => p.type === "era")[0].value, "平成"); 16 assertEq(parts.filter(p => p.type === "year")[0].value, "1"); 17 18 var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", { 19 era: "short", 20 year: "numeric", 21 month: "long", 22 day: "numeric", 23 timeZone: "Asia/Tokyo", 24 }); 25 26 assertEq(dtf.format(endShowa), "昭和64年1月7日"); 27 assertEq(dtf.format(startHeisei), "平成元年1月8日"); 28 29 var parts = dtf.formatToParts(startHeisei); 30 assertEq(parts.filter(p => p.type === "era")[0].value, "平成"); 31 assertEq(parts.filter(p => p.type === "year")[0].value, "元"); 32 33 // ICU<78 returned mixed numbers when an explicit numbering system is present. 34 35 var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", { 36 era: "short", 37 timeZone: "Asia/Tokyo", 38 }); 39 40 assertEq(dtf.format(endShowa), "昭和٦٤/١/٧"); 41 assertEq(dtf.format(startHeisei), "平成١/١/٨"); 42 43 var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", { 44 era: "short", 45 year: "numeric", 46 month: "numeric", 47 timeZone: "Asia/Tokyo", 48 }); 49 50 assertEq(dtf.format(endShowa), "昭和٦٤/١"); 51 assertEq(dtf.format(startHeisei), "平成١/١"); 52 53 if (typeof reportCompare === "function") 54 reportCompare(0, 0);