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

C# DateTime.ToString() 메서드 완벽 정리 – 문법, 예제, 출력 결과

C#에서 DateTime.ToString() 메서드는 현재 DateTime 개체가 담고 있는 날짜와 시간 값을 사람이 읽을 수 있는 문자열(string) 형태로 변환할 때 사용합니다. 날짜 데이터를 화면에 출력하거나 파일·데이터베이스에 저장하기 전에 문자열로 바꿔야 할 때 매우 유용하게 활용됩니다.

문법(Syntax)

DateTime.ToString() 메서드는 매개변수의 조합에 따라 네 가지 오버로드(overload) 형태로 제공됩니다.

ToString()
ToString(IFormatProvider)
ToString(String)
ToString(String, IFormatProvider)
  • ToString(): 시스템의 현재 문화권(culture) 설정에 따라 기본 형식으로 변환합니다.
  • ToString(IFormatProvider): 지정한 문화권 정보에 맞춰 변환합니다.
  • ToString(String): 표준 또는 사용자 지정 날짜/시간 형식 지정자를 이용해 변환합니다.
  • ToString(String, IFormatProvider): 형식 지정자와 문화권 정보를 모두 지정하여 변환합니다.

예제 1 – 기본 사용법

먼저 ToString() 메서드를 아무 인자 없이 호출하는 가장 기본적인 예제입니다.

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.ToString();
        Console.WriteLine("String representation = {0}", str);
    }
}

출력 결과

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

Date = 11/11/2019 7:11:25 AM
String representation = 11/11/2019 7:11:25 AM

예제 2 – 형식 지정자 "f" 활용

이번에는 ToString(String) 오버로드에 표준 형식 지정자인 "f"(전체 날짜 + 짧은 시간 패턴)를 전달하는 예제입니다.

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.ToString("f");
        Console.WriteLine("String representation = {0}", str);
    }
}

출력 결과

형식 지정자 "f"를 적용하면 요일과 월 이름까지 포함된 좀 더 자세한 문자열이 생성됩니다.

Date = 11/11/2019 7:11:25 AM
String representation = Monday, November 11, 2019 7:11 AM

마무리

DateTime.ToString() 메서드는 단순히 객체를 문자열로 바꾸는 것을 넘어, 형식 지정자와 문화권 정보를 조합함으로써 다양한 상황에 맞는 날짜/시간 표현을 손쉽게 만들 수 있다는 점이 큰 장점입니다. 실무에서는 국제화(i18n)를 고려해 IFormatProvider를 함께 지정해 주는 것이 권장됩니다.