C#에서 다양한 날짜 및 시간을 표기할 수 있는데, 다른 국가의 표기법 문자를 읽어와 날짜 형식으로 변환하는 방법에 대해 찾아보았다.
이번에 사용할 연도, 월, 일에 대해서만 간단하게 포맷을 정리해본다.
포맷 | 설명 | 예제 |
---|---|---|
d | 일 | 1, 2, 3,.. 31 |
dd | 일 | 01, 02, 03,.. 31 |
M | 월 | 1, 2, 3,.. 12 |
MM | 월 | 01, 02, 03,.. 12 |
MMM | 월(약어) | Jan, Feb,... |
MMMM | 월 | January, February,... |
yy | 연도 | 20, 21, 22,... |
yyyy | 연도 | 2020, 2021, 2022,... |
이 내용에 필요한 DateTime.ParseExact 메서드와 System.Globalization.CultureInfo 클래스를 사용할 것이다.
각 입력 값에 대한 국가코드와 포맷 형식을 입력하여 매칭시킨 뒤 Date로 받아온 값을 원하는 형식으로 지정하여 사용한다.
입력 값 예시 : 21 août 2023 (해당 값은 불어에 해당)
출력 값 : 2023-Aug-21
- 프랑스의 국가코드 : fr-FR
(DateTime.ParseExact("21 août 2023", "d MMMM yyyy", CultureInfo.CreateSpecificCulture("fr-FR"))).ToString("yyyy-MMM-dd")
입력 값 예시 : 15 noviembre 2022 (해당 값은 스페인어에 해당)
출력 값 : 2022/11/15
- 스페인의 국가코드 : es-AR
(DateTime.ParseExact("15 noviembre 2022", "d MMMM yyyy", CultureInfo.CreateSpecificCulture("es-AR"))).ToString("yyyy/MM/dd")