SpreadJS製品ヘルプ
年号の書式設定
SpreadJS > 開発者の手引き > 機能 > データの管理 > 年号の書式設定

カルチャを"ja-jp"に設定している場合は、和暦年号の書式を指定できます。

次の表は、有効な書式オプション、および日本語カルチャと英語カルチャとの対応付けを示します。

キーワード 日本語カルチャ 英語カルチャ
g 和暦年号名をアルファベットで表示(M、T、S、H、R)  
gg 和暦年号の全角先頭文字(明、大、昭、平、令)を表示  
ggg 和暦年号を全角完全名(明治、大正、昭和、平成、令和)で表示  
gggg(gの文字をいくつ追加しても同様) "ggg"と同じ  
e 可能な場合は、和暦年号の年を1桁で表示(1-??) "y"と同じ
ee 可能な場合は、和暦年号の年を2桁で表示(01-??) "yy"と同じ
eee(eの文字をいくつ追加しても同様) "ee"と同じ "yyyy"と同じ
y gの後であればeと同じ。それ以外の場合はenカルチャと同じ 年を先行ゼロを付けない数値として表示(0 - 99)
yy gの後であればeeと同じ。それ以外の場合はenカルチャと同じ 年を先行ゼロを付けた数値として表示(00 - 99)
yyy gの後であればeeと同じ。それ以外の場合はenカルチャと同じ 年を先行ゼロを付けない数値として表示(1 - 9999)
yyyy gの後であればeeと同じ。それ以外の場合はenカルチャと同じ "yyy"と同じ

コードの使用

次のサンプルコードは、和暦年号の書式を設定します。

JavaScript
コードのコピー
GC.Spread.Common.CultureInfo.eras = [
    {name: "明治", abbreviation: "明", symbol: "M", startDate: "1868-09-08", shortcuts: "1,M"},
    {name: "大正", abbreviation: "大", symbol: "T", startDate: "1912-07-30", shortcuts: "2,T"},
    {name: "昭和", abbreviation: "昭", symbol: "S", startDate: "1926-12-25", shortcuts: "3,S"},
    {name: "平成", abbreviation: "平", symbol: "H", startDate: "1989-01-08", shortcuts: "4,H"},
    {name: "令和", abbreviation: "令", symbol: "R", startDate: "2019-05-01", shortcuts: "5,R"}
];

コードの使用

和暦の最初の年を「元」として表示する「[$-ja-JP-x-gannen]」書式設定と、「1」として表示する「[$-411]ggg e」書式設定を使用できます。次の表は、これらの書式設定の使用方法を示します。

日付 書式設定 結果
2019/12/1 [$-ja-JP-x-gannen]ggg e"年"m"月"d"日" 令和 *元*年12月1日
2019/12/1 [$-411]ggg e"年"m"月"d"日" 令和 *1*年12月1日

次のサンプルコードは、セル内の日付を書式設定します。

JavaScript
コードのコピー
// Spreadを初期化します。
var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
// アクティブシートを取得します。
var activeSheet = spread.getActiveSheet();
var date1 = new Date(1989, 1, 8, 2, 3, 7, 325);
var date2 = new Date(2019, 8, 1, 6, 2, 8, 321);
var date3 = new Date(2020, 7, 1, 2, 1, 5, 311);

activeSheet.setValue(0, 0, '[$-411]ggge"年"m"月"d"日" 午前/午後');
activeSheet.setValue(0, 1, date1);
// セル(0,1)の書式を設定します。
activeSheet.setFormatter(0, 1, '[$-411]ggge"年"m"月"d"日" 午前/午後');

activeSheet.setValue(1, 0, '[$-ja-JP-x-gannen]ggg e"年"m"月"d"日"');
activeSheet.setValue(1, 1, date2);
// セル(1,1)の書式を設定します。
activeSheet.setFormatter(1, 1, '[$-ja-JP-x-gannen]ggg e"年"m"月"d"日"');

activeSheet.setValue(2, 0, '[$-411]ggg e"年"m"月"d"日"');
activeSheet.setValue(2, 1, date2);
// セル(2,1)の書式を設定します。
activeSheet.setFormatter(2, 1, '[$-411]ggg e"年"m"月"d"日"');

activeSheet.setValue(3, 0, '[$-ja-JP-x-gannen]ggg e"年"mm"月"dd"日"');
activeSheet.setValue(3, 1, date3);
// セル(3,1)の書式を設定します。
activeSheet.setFormatter(3, 1, '[$-ja-JP-x-gannen]ggg e"年"mm"月"dd"日"');

// 列幅を設定します。
activeSheet.setColumnWidth(0, 300.0, GC.Spread.Sheets.SheetArea.viewport);
activeSheet.setColumnWidth(1, 200.0, GC.Spread.Sheets.SheetArea.viewport);

コードの使用

次のサンプルコードは、令和の最初の年を「1」年と表示します。(例:"R1/5/1")

JavaScript
コードのコピー
var f = new GC.Spread.Formatter.GeneralFormatter("[<43586]ge/M/d;[>43830]ge/M/d;g\"1\"/M/d", "ja-jp")
activeSheet.getCell(1,1).formatter(f);
activeSheet.getCell(1,1).value(new Date(2019,04,01));
Spread.Sheetsの既定の動作は、和暦の最初の年を「元」年と表示します。
関連トピック