C#

C# DateTime ToString Format (오전/오후 표시)

기공이 2018. 6. 26. 13:35

※ 블로그를 이전하며 해당 내용을 개선하여 포스팅했습니다. (링크)

 

 

 

C#에서 DataTime은 날짜, 시간을 나타낼 때 쓰입니다.

 

그런데 DateTime을 그냥 ToString() 할 경우

2018-12-18 오후 4:53:02 이런 식으로 연월일 등 모두 표시 됩니다.

이때 필요한 것이 Format 문자열인데요, ToString() 함수에 Format 문자열을 넣어주는 방식으로 설정할 수 있습니다.

 

Format 문자열은 yy MM dd 이런 알파벳 들로 이루어집니다.

 

자주 쓰이는 것들을 알려드리고, 그 외 여러 Format과 예시들은 MS Docs에 있습니다.

 

y  년 Year 
M  월 Month
d  일 Day 
H  시간 Hour (24시간 기준)
h  시간 hour (12시간 기준)
m  분 minute
 초 Second
tt   AM/PM 구분자 

 

tt의 경우 t 하나만 쓸 경우, 앞글자 한 글자만 나옵니다.

오후 -> 오, 오전 -> 오, AM -> A, PM -> P

 

예시) 현재 시간이 2018년 12월 18일 오후 2시 34분 17초 라 가정

string Format;

DateTime.Now.ToString(Format);

 Format ToString 결과물 
 "yyyy.MM.dd HH:mm"  2018.12.18 14:34
 "MM월 dd일 HH시 입니다."  12월 18일 14시 입니다.
 "현재 시각 HH:mm:ss"  현재 시각 14:34:17
 "tt h:mm:ss"  오후 2:34:17
 "yyyy MM dd tt hh mm ss"
 2018 12 18 오후 02 19 56

 

 

참고 : MS Docs