C#UNIX タイムスタンプを取得する
-
DateTime.Now.Subtract().TotalSecondsメソッドを使用してUnix タイムスタンプを取得する C# プログラム -
DateTimeOffset.Now.ToUnixTimeSeconds()メソッドを使用してUnix タイムスタンプを取得する C# プログラム -
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.