令和が発表されましたので、kintone アプリの和暦変換ネタです。
計算式プラグインを使って、和暦変換してみます。
和暦変換アプリ例
日付項目と元号、和暦年を配置します。
元号は、文字列項目またはドロップダウン項目が使えます。
テーブルにすると、元号の変わり目のチェックも簡単です。
※LET関数を使った計算式を追加しました。(2024/12/10)
計算式プラグイン設定
テーブル内項目もフィールドコードを変えるだけでOKです。
元号
元号の始まる日付で、元号を切り替えます。
.js
IF(日付,
IFS(DATE_FORMAT(日付)>="2019-05-01","令和",
DATE_FORMAT(日付)>="1989-01-08","平成",
DATE_FORMAT(日付)>="1926-12-25","昭和",
DATE_FORMAT(日付)>="1912-07-30","大正",
DATE_FORMAT(日付)>="1868-01-25","明治"))
和暦の年
元号の始まる日付で、和暦の年を計算します。
計算の基準日は、元号の始まる年の1月1日にします。
.js
IF(日付,
DATE_DIFF(
IFS(DATE_FORMAT(日付)>="2019-05-01","2019-01-01",
DATE_FORMAT(日付)>="1989-01-08","1989-01-01",
DATE_FORMAT(日付)>="1926-12-25","1926-01-01",
DATE_FORMAT(日付)>="1912-07-30","1912-01-01",
DATE_FORMAT(日付)>="1868-01-25","1868-01-01"),
日付,"years")+1)
LET 関数を使った和暦変換
LET関数を使うとわかりやすく記述できます。
.js
// 元号 DROP_DOWN
LET(
fDate, DATE_FORMAT(日付), // 日付取得
IFS(
fDate >= "2019-05-01", "令和",
fDate >= "1989-01-08", "平成",
fDate >= "1926-12-25", "昭和",
fDate >= "1912-07-30", "大正",
fDate >= "1868-01-25", "明治",
"" // 無効日
),
)
// 年 NUMBER
LET(
fDate, DATE_FORMAT(日付), // 日付取得
eDate, IFS(
fDate >= "2019-05-01", "2019-01-01", // 令和
fDate >= "1989-01-08", "1989-01-01", // 平成
fDate >= "1926-12-25", "1926-01-01", // 昭和
fDate >= "1912-07-30", "1912-01-01", // 大正
fDate >= "1868-01-25", "1868-01-01", // 明治
"" // 無効日
),
IF(eDate, DATE_DIFF(eDate, fDate, "year")+1) // 年差分
)
// Table.元号T DROP_DOWN
LET(
fDate, DATE_FORMAT(日付T), // 日付取得
IFS(
fDate >= "2019-05-01", "令和",
fDate >= "1989-01-08", "平成",
fDate >= "1926-12-25", "昭和",
fDate >= "1912-07-30", "大正",
fDate >= "1868-01-25", "明治",
"" // 無効日
),
)
// Table.年T NUMBER
LET(
fDate, DATE_FORMAT(日付T), // 日付取得
eDate, IFS(
fDate >= "2019-05-01", "2019-01-01", // 令和
fDate >= "1989-01-08", "1989-01-01", // 平成
fDate >= "1926-12-25", "1926-01-01", // 昭和
fDate >= "1912-07-30", "1912-01-01", // 大正
fDate >= "1868-01-25", "1868-01-01", // 明治
"" // 無効日
),
IF(eDate, DATE_DIFF(eDate, fDate, "year")+1) // 年差分
)
注意事項
明治以降の元号に対応しています。