# 연호 형식 설정

## Content

문화권이 `"ja-jp"`로 설정된 경우, 연호(era)에 대한 서식 설정을 지정할 수 있습니다.
다음 표는 형식 옵션과 일본 및 영어 문화권에 해당하는 값을 나열한 것입니다:

| 키워드 | 일본 문화권 | 영어 문화권 |
| --- | ------ | ------ |
| g | 알파벳으로 연호 이름 표시 (M, T, S, H, R) | — |
| gg | 연호의 첫 번째 문자(전각) 표시 (明, 大, 昭, 平, 令) | — |
| ggg | 전체 연호 이름(전각) 표시 (明治, 大正, 昭和, 平成, 令和) | — |
| gggg (또는 그 이상의 "g" 포함) | "ggg"와 동일 | — |
| e | 가능한 경우 한 자리 숫자로 연호 연도 표시 (1-??) | "y"와 동일 |
| ee | 가능한 경우 두 자리 숫자로 연호 연도 표시 (01-??) | "yy"와 동일 |
| eee (또는 그 이상의 "e" 포함) | "ee"와 동일 | "yyyy"와 동일 |
| y | 'g' 다음에 오는 경우 'e'와 동일; 그렇지 않으면 en 문화권과 동일 | 선행 0 없이 연도 표시 (0 - 99) |
| yy | 'g' 다음에 오는 경우 'ee'와 동일; 그렇지 않으면 en 문화권과 동일 | 선행 0을 포함하여 연도 표시 (00 - 99) |
| yyy | 'g' 다음에 오는 경우 'ee'와 동일; 그렇지 않으면 en 문화권과 동일 | 선행 0 없이 연도 표시 (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"}
];
```

SpreadJS는 첫 해를 `"元"`으로 표시하는 `[$-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);
// Cell[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);
// Cell[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);
// Cell[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);
// Cell[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);
```