즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

개발/C#

[2021.03] C#에서 Unix Time을 구해보자.

다물칸 2021. 3. 26. 15:31
728x90
반응형

보통 로그에 시간정보가 누적해서 들어가기 때문에 Date타입이나 String타입으로 설정하는 것보다는 UnixTime을 이용해 숫자값으로 저장하는 것이 훨씬 적게 데이터를 쌓을 수 있다.

UnixTime은 ISO8601 표준에 의거해 1970년 01월 01일 09시 00분 00초를 기점으로 초 단위로 카운트 된다.

이 글을 작성하는 시간으로 Unix Time을 구하면 다음과 같다.

# date -d '2021-03-26 15:29:00' '+%s.%N' | cut -b1-10
1616740140

이 정보를 이용해 C#으로 작성해보자.

public static DateTime IntToDateTime(int intDate)
{
    return new DateTime(1970, 1, 1, 9, 0, 0).AddSeconds(intDate);
}

public static UInt32 DateTimeToInt(DateTime theDate)
{
    return (UInt32)(theDate - new DateTime(1970, 1, 1, 9, 0, 0)).TotalSeconds;
}

각각 날짜를 숫자로, 숫자를 날짜로 변환하는 함수를 만들어보았다.

 

DateTime.UtcNow.Ticks

이 구문으로도 가져올 수 있단다. T_T

이 구문을 위처럼 내용을 풀었다는 의미의 글로 남겨둔다. 

반응형