神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

西暦を和暦に変換する関数を作成せよ

コマンドライン引数、西暦year month dayを入力し、 和暦の文字列を返す関数 toWareki(year, month, day)を作成せよ。 ただし1926年12月25日以前の入力値は入らないものとする

和暦 西暦
令和 2019/5/1〜
平成 1989/1/8〜
昭和 1926/12/25〜
node main.js 2020 6 18
令和2年6月18日
node main.js 2019 4 5
平成31年4月5日

解答例

function toWareki(year, month, day) {
  const str = `${('0000' + year).slice(-4)}${('00' + month).slice(-2)}${('00' + day).slice(-2)}`
  let waYear = ""
  if (str < "19890108") {
    waYear = `昭和${year - 1925}`
  } else if (str < "20190501") {
    waYear = `平成${year - 1988}`
  } else {
    waYear = `令和${year - 2018}`
  }
  return `${waYear}年${month}月${day}日`
}
console.log(toWareki(process.argv[2], process.argv[3], process.argv[4]))