C#UNIX タイムスタンプを取得する

Minahil Noor 2023年10月12日
  1. DateTime.Now.Subtract().TotalSeconds メソッドを使用して Unix タイムスタンプを取得する C# プログラム
  2. DateTimeOffset.Now.ToUnixTimeSeconds() メソッドを使用して Unix タイムスタンプを取得する C# プログラム
  3. TimeSpan 構造体メソッドを使用して Unix タイムスタンプを取得する C# プログラム
C#UNIX タイムスタンプを取得する

Unix タイムスタンプは主に Unix オペレーティングシステムで使用されます。ただし、すべてのタイムゾーンの時間を表すため、すべてのオペレーティングシステムに役立ちます。Unix のタイムスタンプは時間を秒単位で表します。Unix エポックは 1970 年 1 月 1 日に始まりました。したがって、Unix のタイムスタンプは、特定の日付と Unix エポックの間の秒数です。

C# では、Unix タイムスタンプを取得するためのさまざまなメソッドがあります。この記事では、これらの方法を中心に紹介していきます。最後まで読んで、これらの方法を発見してください。

DateTime.Now.Subtract().TotalSeconds メソッドを使用して Unix タイムスタンプを取得する C# プログラム

DateTime クラスは日付と時刻を取得するために使用されます。DateTime.Now は現在の日付と時刻を通知します。Subtract() メソッドは現在の日付と Unix エポックの違いを見つけます。そして、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 タイムスタンプを見つけるために使用できます。

この構造を使用するための正しい構文は次のとおりです。

// 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