C# 유닉스 타임 스탬프 받기

Minahil Noor 2023년10월12일
  1. DateTime.Now.Subtract().TotalSeconds 메소드를 사용하여Unix Timestamp를 얻는 C# 프로그램
  2. DateTimeOffset.Now.ToUnixTimeSeconds()메소드를 사용하여Unix 타임 스탬프를 얻는 C# 프로그램
  3. TimeSpan 구조 메소드를 사용하여 Unix 타임 스탬프를 가져 오는 C# 프로그램
C# 유닉스 타임 스탬프 받기

유닉스 타임 스탬프는 주로 유닉스 운영 체제에서 사용됩니다. 그러나 모든 시간대의 시간을 나타내므로 모든 운영 체제에 유용합니다. 유닉스 ‘타임 스탬프’는 시간을 초 단위로 나타냅니다. ‘유닉스 시대 (Unix epoch)‘는 1970 년 1 월 1 일에 시작되었습니다. 따라서 유닉스 (Unix) ‘타임 스탬프 (Timestamp)‘는 특정 날짜와 ‘유닉스 시대 (Unix epoch)‘사이의 시간 (초)입니다.

C#에는 Unix 타임 스탬프를 얻는 여러 가지 방법이 있습니다. 이 기사에서는 이러한 방법에 중점을 둘 것입니다. 끝까지 읽어이 방법을 찾으십시오.

DateTime.Now.Subtract().TotalSeconds 메소드를 사용하여Unix Timestamp를 얻는 C# 프로그램

DateTime 클래스는 날짜와 시간을 얻는 데 사용됩니다. DateTime.Now는 현재 날짜와 시간을 제공합니다. Subtract()메소드는 현재 날짜와 Unix epoch의 차이를 찾습니다. 그리고 TotalSeconds속성은 결과 날짜와 시간을 초로 변환합니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
// 1970, 1, 1 is the Unix epoch

예제 코드:

using System;

public class UnixTimestamp {
  public static void Main() {
    Int32 unixTimestamp = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

출력:

The Unix Timestamp is 1586782314.

DateTimeOffset.Now.ToUnixTimeSeconds()메소드를 사용하여Unix 타임 스탬프를 얻는 C# 프로그램

DateTimeOffset.Now.ToUnixTimeSeconds()메소드는 미리 정의 된 메소드입니다. Unix 타임 스탬프를 초 단위로 계산합니다. Unix epoch값은 이미 메소드에 정의되어 있으므로 매개 변수로 전달할 필요가 없습니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

DateTimeOffset.Now.ToUnixTimeSeconds();

예제 코드:

using System;

public class UnixTimestamp {
  public static void Main() {
    var unixTimestamp = DateTimeOffset.Now.ToUnixTimeSeconds();
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

출력:

The Unix Timestamp is 1586782273.

TimeSpan 구조 메소드를 사용하여 Unix 타임 스탬프를 가져 오는 C# 프로그램

C#에서TimeSpan은 시간 간격을 알려주는구조입니다. 그것의 속성 Ticks는 시간 간격 값을 표시하는 데 사용됩니다. Unix Timestamp를 찾는 데 사용할 수 있습니다.

이 구조를 사용하는 올바른 구문은 다음과 같습니다.

// Creating First Time Interval
TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
// Creating Second Time Interval and Substracting its Value from the First One
TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
// Converting time interval to seconds to represent Unix Timestamp
Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;

예제 코드:

using System;

public class UnixTimestamp {
  public static void Main() {
    TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
    TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
    Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

출력:

The Unix Timestamp is 1586782432.

관련 문장 - Csharp DateTime