Slide 23
Slide 23 text
和暦変換
($toWareki := function($year, $month, $day){(
$eras := [
{"name":"令和","abbr":"R","start":{"year":2019,"month":5,"day":1}},
{"name":"平成","abbr":"H","start":{"year":1989,"month":1,"day":8}},
{"name":"昭和","abbr":"S","start":{"year":1926,"month":12,"day":25}},
{"name":"⼤正","abbr":"T","start":{"year":1912,"month":7,"day":30}},
{"name":"明治","abbr":"M","start":{"year":1868,"month":1,"day":25}}];
$compareDate := function($y1, $m1, $d1, $y2, $m2, $d2) {
$y1 > $y2 ? 1 : $y1 < $y2 ? -1 : $m1 > $m2 ? 1 : $m1 < $m2 ? -1 : $d1 > $d2 ? 1 :
$d1 < $d2 ? -1 : 0 };
$era := $eras[$compareDate($year, $month, $day, start.year, start.month,
start.day) >= 0 ][0];
$era = null ? { "wareki": "不明", "warekiAbbr": "?", "year": $year } : (
$eraYear := $year - $era.start.year + 1; $displayYear := $eraYear = 1 ? "元" :
$eraYear;
{ "wareki": $era.name & $displayYear & "年", "warekiAbbr": $era.abbr &
$displayYear, "year": $year, "month": $month, "day": $day } ) )};
$toWareki($states.input.year, $states.input.month, $states.input.day);)
23