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

  1. DateTime.Now.Subtract().TotalSeconds メソッドを使用して Unix タイムスタンプを取得する C# プログラム
  2. DateTimeOffset.Now.ToUnixTimeSeconds() メソッドを使用して「Unix タイムスタンプ」を取得する C# プログラム
  3. TimeSpan 構造体メソッドを使用して「Unix タイムスタンプ」を取得する C# プログラム

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.
comments powered by Disqus