Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 'T'(Long Time) 형식 지정자 완벽 정리 – 시간만 표시하는 문자열 포맷팅 방법

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를 명시적으로 지정하는 것이 좋습니다.