본문 바로가기
.NET

convert time_t to System.Datetime and TimeZoneInfo

by leo21c 2020. 10. 14.

C#에서 time_t 값을 System.Datetime으로 변경하는 방법과 UTC --> Local Time 변경 방법

time_t ttime;
System.DateTime timeUtc = new System.DateTime(1970, 1, 1).AddSeconds(ttime);
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Korea Standard Time");
DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);

time_t는 1970년 1월 1일 기준으로 지난 초를 표시한다.

따라서 System.DateTime의 AddSeconds 함수를 이용해서 컨버를 한다.

 

UTC 시간을 한국 시간으로 변경하기 위해서는 TimeZone을 변경해야 한다.

TimeZoneInfo를 이용해서 변경을 하고 한국의 ZoneId는 "Korea Standard Time"이다.

 

<참조>
docs.microsoft.com/ko-kr/dotnet/standard/datetime/converting-between-time-zones

 

표준 시간대 간 시간 변환

.NET에서 한 표준 시간대에서 다른 표준 시간대로 시간을 변환 하는 방법에 대해 알아봅니다. 또한 표준 시간대 인식이 제한 된 DateTimeOffset 값을 변환 하는 방법을 알아봅니다.

docs.microsoft.com