c#でUNIXタイムスタンプを取得するにはどうすればよいですか?
C#では、Unixタイムスタンプは以下から取得できます:
DateTimeOffset unixStart = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
TimeSpan unixTimeSpan = DateTimeOffset.UtcNow - unixStart;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;
上記コードではまず、ユニックスタイムスタンプの基準日時(1970年1月1日)を表すDateTimeOffsetオブジェクトを作成し、これをUTCに設定します。次に、現在時刻と基準日時との差を計算し、TimeSpanオブジェクトを取得します。最後に、この差のTotalSecondsプロパティで秒に変換し、これを長整数に変換したものがユニックスタイムスタンプになります。
また秒単位のUnixタイムスタンプを入手したい場合は、最後の行のコードを以下に変更してください。
long unixTimestamp = (long)unixTimeSpan.TotalMilliseconds;
これにより、ミリ秒単位のUnixタイムスタンプを取得できます。