やったこと
西暦の年月日時刻データ('yyyy-MM-dd HH:MM:ss.SSS')を和暦に変換するCell Rendererの実装メモ。
参考:西暦を和暦に変換する
コード
japaneseCalender.ts
// transform Dataformat ('yyyy-MM-dd HH:mm:ss.SSS') into Japanese Style
japaneseCalenderRenderer(param: any) {
const splitDateString = param.data.printTime.split(/[\s]+/);
const splitTimeString = splitDateString[1].split(/[:.]+/);
// transform YYYY into 令和yy
const target = new Date(splitDateString[0]);
function japaneseCalenderConverter(yearTarget: Date): string {
const jaCalender = [
{
era: '明治',
start: '1868-01-25',
},
{
era: '大正',
start: '1912-07-30',
},
{
era: '昭和',
start: '1926-12-25',
},
{
era: '平成',
start: '1989-01-08',
},
{
era: '令和',
start: '2019-05-01',
},
];
for (let i = jaCalender.length - 1; i >= 0; i--) {
const t = new Date(jaCalender[i].start);
if (yearTarget >= t) {
return (
jaCalender[i].era +
(yearTarget.getFullYear() - t.getFullYear()) +
'年' +
(yearTarget.getMonth() + 1) +
'月' +
yearTarget.getDate() +
'日 '
);
}
if (i <= 0) {
return '対象範囲外です';
}
}