어느 개발자의 스토리
[C#] DateTime.ToString() 함수 언어 지정 방법 본문
DateTime.ToString() 함수를 이용해서 개발 중 VisualStudio 버전이 변경되면서
기존의 2023-03-14 PM 10:25:31 형식으로 나오던 데이터가 2023-03-14 오후 10:25:31 와 같이
한글로 변환돼 오류가 발생하는 상황이 있었다.
기본적으로 C#의 DateTime.ToString() 메소드는 시간 값의 출력에 대해 "AM" 또는 "PM"과 같은 영어로 된 오전/오후 값을 사용하지만 로컬 시스템의 설정에 따라 다른 언어로 표시될 수 있다고 한다.
만약 코드에서 강제로 영어로 표시하고자 한다면, CultureInfo 클래스를 사용하여 로컬의 문화권을 영어(미국)으로 변경한 후, DateTime.ToString() 메소드를 호출하면된다.
예시 코드
using System;
using System.Globalization;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
CultureInfo culture = new CultureInfo("en-US");
string timeString = dt.ToString(provider: culture);
Console.WriteLine(timeString);
}
}
}