C#의 DateTime.ToLongDateString() 메서드는 현재 DateTime 개체의 값을 해당하는 긴 날짜(long date) 문자열 표현으로 변환할 때 사용됩니다. 이 메서드는 매개변수를 받지 않으며, 현재 스레드의 문화권(CurrentCulture) 설정에 따라 날짜 형식이 결정된다는 점이 특징입니다.
구문
다음은 이 메서드의 기본 구문입니다.
public string ToLongDateString ();
예제 1: 기본 사용법
먼저 특정 날짜를 지정하여 DateTime.ToLongDateString() 메서드를 호출하는 간단한 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main() {
DateTime d = new DateTime(2019, 10, 11, 9, 10, 45);
Console.WriteLine("Date = {0}", d);
string str = d.ToLongDateString();
Console.WriteLine("Long date string representation = {0}", str);
}
}
출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Date = 10/11/2019 9:10:45 AM Long date string representation = Friday, October 11, 2019
예제 2: 현재 문화권 확인하기
다음 예제에서는 현재 문화권(CurrentCulture) 정보와 함께 ToLongDateString() 메서드를 사용해 보겠습니다. 실행 환경의 문화권 설정에 따라 날짜 문자열이 어떻게 달라지는지 확인할 수 있습니다.
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.ToLongDateString();
Console.WriteLine("Long date string = {0}", pattern.LongDatePattern);
Console.WriteLine("Long date string representation = {0}", str);
}
}
출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Date = 10/16/2019 8:39:08 AM Current culture = en-US Long date string = dddd, MMMM d, yyyy Long date string representation = Wednesday, October 16, 2019
핵심 정리
ToLongDateString() 메서드는 내부적으로 현재 문화권의 LongDatePattern(예: en-US의 경우 "dddd, MMMM d, yyyy")을 적용하여 날짜를 서식화합니다. 따라서 한국어(ko-KR) 환경에서는 "2019년 10월 16일 수요일"과 같은 형태로 표시됩니다. 만약 문화권과 무관하게 일관된 형식이 필요하다면, ToString() 메서드에 사용자 지정 형식 문자열을 지정하거나 CultureInfo.InvariantCulture를 활용하는 것이 좋습니다.