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

C# DateTime.ToLongTimeString() 메서드 사용법과 예제 총정리

C#의 DateTime.ToLongTimeString() 메서드는 현재 DateTime 개체가 가진 값을 해당 문화권(culture)에서 정의한 긴 시간(long time) 문자열 표현으로 변환할 때 사용합니다. 이 메서드는 별도의 형식 지정 없이도 운영 체제나 스레드의 현재 문화권 설정에 맞춰 시간을 자동으로 포맷해 주기 때문에, 지역화(localization)가 필요한 애플리케이션에서 특히 유용합니다.

구문

DateTime.ToLongTimeString() 메서드의 기본 구문은 다음과 같습니다.

public string ToLongTimeString ();

이 메서드는 매개변수를 받지 않으며, 형식이 지정된 시간 문자열(string)을 반환합니다.

주요 특징

  • 현재 스레드의 CurrentCulture 설정에 따라 출력 형식이 달라집니다.
  • 예를 들어 en-US 문화권에서는 '오전/오후'가 포함된 형식(h:mm:ss tt)으로, ko-KR 문화권에서는 오후 hh:mm:ss 형태로 표시됩니다.
  • 내부적으로는 ToString("T"), 즉 LongTimePattern 형식 지정자를 사용하는 것과 동일하게 동작합니다.

예제 1: 현재 시간 변환하기

다음은 DateTime.ToLongTimeString() 메서드를 사용하여 현재 시간을 긴 시간 문자열로 변환하는 예제입니다.

using System;
using System.Globalization;
public class Demo {
    public static void Main() {
        DateTime d = DateTime.Now;
        Console.WriteLine("Date = {0}", d);
        Console.WriteLine("Current culture = "+CultureInfo.CurrentCulture.Name);
        var pattern = CultureInfo.CurrentCulture.DateTimeFormat;
        string str = d.ToLongTimeString();
        Console.WriteLine("Long time string = {0}", pattern.LongTimePattern);
        Console.WriteLine("Long time string representation = {0}", str);
    }
}

출력 결과

위 예제를 실행하면 다음과 같은 결과가 출력됩니다.

Date = 10/16/2019 8:41:03 AM
Current culture = en-US
Long time string = h:mm:ss tt
Long time string representation = 8:41:03 AM

실행 환경의 문화권이 en-US로 설정되어 있기 때문에 LongTimePattern이 'h:mm:ss tt'로 적용되었으며, 오전/오후 표시가 포함된 시간 문자열이 반환되었습니다.

예제 2: 특정 날짜 및 시간 변환하기

이번에는 DateTime 개체에 직접 날짜와 시간을 지정한 뒤 ToLongTimeString() 메서드를 호출하는 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main() {
        DateTime d = new DateTime(2019, 11, 11, 7, 11, 25);
        Console.WriteLine("Date = {0}", d);
        string str = d.ToLongTimeString();
        Console.WriteLine("Long time string representation = {0}", str);
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 나타납니다.

Date = 11/11/2019 7:11:25 AM
Long time string representation = 7:11:25 AM

DateTime 생성자에 연도(2019), 월(11), 일(11)과 함께 시(7), 분(11), 초(25)를 전달했으며, ToLongTimeString()은 이 중 시간 부분만 추출하여 현재 문화권 형식에 맞게 변환했습니다.

정리

DateTime.ToLongTimeString() 메서드는 추가적인 형식 문자열 없이 간단하게 시간을 사람이 읽기 좋은 긴 형태의 문자열로 변환할 수 있는 편리한 기능입니다. 다만 결과가 현재 문화권 설정에 의존하기 때문에, 특정 형식이 반드시 필요한 경우에는 ToString() 메서드에 명시적 형식 지정자를 사용하는 것이 좋습니다.