C#でタイムスタンプを取得する方法は何ですか?
C#では、タイムスタンプを取得する方法はいくつかあります。
- DateTime.UtcNow.Ticks: 現在の時刻のTicksを取得します(西暦1年1月1日の午前0時0分0秒からの100ナノ秒ごとの経過時間)。秒単位のタイムスタンプに変換するには、TimeSpan.TicksPerSecondで割ることができます。
long timestamp = DateTime.UtcNow.Ticks / TimeSpan.TicksPerSecond;
Console.WriteLine(timestamp);
- DateTimeOffset.Now.ToUnixTimeSeconds()は、現在の時間の秒単位のUnixタイムスタンプを取得します。 DateTimeOffset構造は、日付と時刻の表現、およびタイムゾーン情報を提供します。
long timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
Console.WriteLine(timestamp);
- (DateTime.UtcNow – new DateTime(1970, 1, 1)).TotalSecondsを使用することで、Unixエポック(1970年1月1日午前0時)と現在時刻の間の秒数を計算して、Unixタイムスタンプを取得します。
long timestamp = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
Console.WriteLine(timestamp);
上記は一般的に使用されるいくつかのタイムスタンプ取得方法です。必要に応じて適切な方法を選択して使用してください。