Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

nomad-programmer

[Programming/C#] 날짜 및 시간 서식화 본문

Programming/C#

[Programming/C#] 날짜 및 시간 서식화

scii 2020. 9. 6. 19:03

날짜와 시간을 표현하기 위해서는 DateTime 클래스가 필요하다. 그리고 System.Globalization.CultureInfo 클래스의 도움을 받으면 C# 코드만으로 날짜 및 시간 서식을 통제할 수 있다.

서식 지정자 대상 서식 설명
y 연도 yy: 두 자릿수 연도
yyyy: 네 자릿수 연도
M M: 한 자릿수 월
MM: 두 자릿수 월
d d: 한 자릿수 일
dd: 두 자릿수 일
h 시 (1~12) h: 한 자릿수 시
hh: 두 자릿수 시
H 시 (1~23) H: 한 자릿수 시
HH: 두 자릿수 시
m m: 한 자릿수 분
mm: 두 자릿수 분
s s: 한 자릿수 초
ss: 두 자릿수 초
tt 오전/오후 tt: 오전/오후
ddd 요일 ddd: 약식 요일
dddd: 전체 요일

CultureInfo 클래스의 역할은 문화권 정보를 나타내는 것이다. DateTime.ToString() 메소드에 서식 문자열과 함께 이 클래스의 인스턴스를 입력하면 해당 문화권에 맞는 요일 이름을 얻을 수 있다.

사용 예는 다음과 같다.

using System;
using System.Globalization;
using static System.Console;

namespace CSharpExam
{
    class DateTimeExample
    {
        static int Main(string[] args)
        {
            DateTime dt = new DateTime(2020, 09, 07, 23, 22, 33);

            WriteLine("12시간 형식: {0:yyyy-MM-dd tt hh:mm:ss (ddd)}", dt);
            WriteLine("24시간 형식: {0:yyyy-MM-dd HH:mm:ss (ddd)}", dt);

            CultureInfo ciKo = new CultureInfo("ko-KR");
            WriteLine();
            WriteLine(dt.ToString("yyyy-MM-dd tt hh:mm:ss (ddd)", ciKo));
            WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss (ddd)", ciKo));
            WriteLine(dt.ToString(ciKo));

            CultureInfo ciEn = new CultureInfo("en-US");
            WriteLine();
            WriteLine(dt.ToString("yyyy-MM-dd tt hh:mm:ss (ddd)", ciEn));
            WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss (ddd)", ciEn));
            WriteLine(dt.ToString(ciEn));

            return 0;
        }
    }
}

/* 결과

12시간 형식: 2020-09-07 오후 11:22:33 (월)
12시간 형식: 2020-09-07 23:22:33 (월)

2020-09-07 오후 11:22:33 (월)
2020-09-07 23:22:33 (월)
2020-09-07 오후 11:22:33

2020-09-07 PM 11:22:33 (Mon)
2020-09-07 23:22:33 (Mon)
9/7/2020 11:22:33 PM

*/
Comments