C#에서 일반 날짜 짧은 시간("g") 형식 지정자는 짧은 날짜 패턴("d")과 짧은 시간 패턴("t")을 공백으로 구분하여 결합한 표준 날짜 및 시간 형식 지정자입니다. 이 지정자를 사용하면 간결하고 읽기 쉬운 형태로 날짜와 시간을 함께 출력할 수 있습니다.
DateTime 객체 생성
먼저 DateTime 구조체를 사용해 특정 날짜와 시간을 설정합니다.
DateTime dt = new DateTime(2018, 10, 2, 7, 59, 20);
"g" 형식 지정자 적용하기
이제 ToString() 메서드에 "g" 형식 지정자를 전달하여 날짜와 시간을 원하는 문화권(culture) 형식에 맞게 출력할 수 있습니다.
dt.ToString("g", DateTimeFormatInfo.InvariantInfo);문화권을 지정하지 않는 고정 문화권(Invariant Culture)을 사용하면 언어나 지역 설정에 영향을 받지 않는 일관된 출력 결과를 얻을 수 있으며, CultureInfo.CreateSpecificCulture() 메서드를 사용하면 특정 문화권의 형식 규칙에 따라 출력할 수도 있습니다.
전체 예제 코드
using System;
using System.Globalization;
class Demo {
static void Main() {
DateTime dt = new DateTime(2018, 10, 2, 7, 59, 20);
// 고정 문화권(Invariant Culture) 사용
Console.WriteLine(dt.ToString("g", DateTimeFormatInfo.InvariantInfo));
// 미국 영어(en-US) 문화권 사용
Console.WriteLine(dt.ToString("g", CultureInfo.CreateSpecificCulture("en-us")));
}
}실행 결과
10/02/2018 07:59 10/2/2018 7:59 AM
출력 결과 분석
고정 문화권을 사용한 첫 번째 출력은 연도가 항상 4자리로 표시되고 시간이 24시간제로 나타납니다. 반면 두 번째 출력인 en-US(미국) 문화권에서는 월과 일이 한 자리 숫자로 표시되고 오전/오후(AM/PM)를 포함하는 12시간제가 적용됩니다.
이처럼 "g" 형식 지정자는 동일한 날짜 데이터라도 적용된 문화권에 따라 서로 다른 형식으로 출력되므로, 다국어 애플리케이션 개발 시 문화권 설정을 명확히 지정하는 것이 중요합니다.