1. ホーム
  2. c#

[解決済み] C#でエポックタイムを変換するには?

2022-03-22 16:43:15

質問

Unixはどのように変換するのですか? エポックタイム をC#で実時間に変換できますか?(1970/1/1から始まるエポック)

どのように解決するのですか?

アップデイト2020

DateTimeOffsetを使用すると、このようなことができます。

DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(epochSeconds);
DateTimeOffset dateTimeOffset2 = DateTimeOffset.FromUnixTimeMilliseconds(epochMilliseconds);

そして、もし DateTime オブジェクトの代わりに DateTimeOffset を呼び出すと DateTime プロパティ

DateTime dateTime = dateTimeOffset.DateTime;


オリジナル回答

という意味だと思われます。 ユニックスタイム 1970年1月1日午前0時(UTC)からの秒数として定義されています。

private static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

public static DateTime FromUnixTime(long unixTime)
{
    return epoch.AddSeconds(unixTime);
}