C#에서 'T' 표준 날짜 및 시간 형식 지정자(Long Time Format Specifier)는 날짜 정보는 제외하고 시간 부분만 문자열로 변환할 때 사용하는 형식 지정자입니다.
이 형식 지정자는 내부적으로 DateTimeFormatInfo.LongTimePattern 속성에 정의된 사용자 지정 형식 문자열에 매핑됩니다.
기본 사용자 지정 형식 문자열
고정 문화권(Invariant Culture)을 기준으로 할 때 'T' 형식 지정자는 아래와 같은 사용자 지정 형식 문자열에 해당합니다.
HH:mm:ss
다만 실제 출력 결과는 프로그램이 실행되는 문화권(Culture) 설정에 따라 달라질 수 있습니다. 예를 들어 영어(미국, en-US) 문화권에서는 오전/오후 표시가 포함된 패턴이 적용됩니다.
예제 코드
아래 예제에서는 2018년 9월 9일 오전 8시 15분 30초로 생성한 DateTime 객체를 en-US 문화권의 'T' 형식으로 출력합니다.
using System;
using System.Globalization;
class Demo {
static void Main() {
DateTime date = new DateTime(2018, 9, 9, 8, 15, 30);
Console.WriteLine(date.ToString("T", CultureInfo.CreateSpecificCulture("en-us")));
}
}실행 결과
8:15:30 AM
출력 결과 해설
en-US 문화권의 Long Time 패턴에는 오전/오후 지정자(tt)가 포함되어 있기 때문에, 시간 뒤에 'AM'이 함께 출력된 것을 확인할 수 있습니다.
참고로 동일한 코드를 한국어(ko-KR) 문화권으로 실행하면 오전 8:15:30처럼 출력됩니다. 이처럼 'T' 형식 지정자는 문화권별 시간 표기 규칙을 자동으로 반영하므로, 다국어 애플리케이션에서 일관된 시간 표시가 필요하다면 CultureInfo를 명시적으로 지정하는 것이 좋습니다.