C# エポックタイムからリアルタイムへの変換メソッド
このガイドでは、Unix エポック時間 (UTC 1970 年 1 月 1 日からの秒数) を C# で読み取り可能な日付と時刻に変換する方法を説明します。 さまざまな .NET バージョンに対応するアプローチがいくつかあります。
最新の .NET (コア >= 2.1 以降):
組み込み関数を利用する最も簡単な方法:
<code class="language-csharp">DateTime realTime = DateTime.UnixEpoch.AddSeconds(epochSeconds); // For seconds DateTime realTimeMillis = DateTime.UnixEpoch.AddMilliseconds(epochMilliseconds); // For milliseconds</code>
DateTimeOffset の使用 (2020 年以降推奨):
DateTimeOffset
はタイムゾーン処理を改善します:
<code class="language-csharp">DateTimeOffset realTimeOffset = DateTimeOffset.FromUnixTimeSeconds(epochSeconds); // For seconds DateTimeOffset realTimeOffsetMillis = DateTimeOffset.FromUnixTimeMilliseconds(epochMilliseconds); // For milliseconds DateTime realTime = realTimeOffset.DateTime; // Extract DateTime if needed</code>
古い .NET バージョン (2020 年より前):
上記のメソッドが欠けている古い .NET フレームワークの場合は、カスタム関数が必要です。
<code class="language-csharp">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); }</code>
この関数は、指定された unixTime
(秒単位) を Unix エポックに追加し、リアルタイムを表す DateTime
オブジェクトを生成します。 潜在的な例外 (ArgumentOutOfRangeException
など) を忘れずに処理してください。
ご使用の .NET バージョンに最も適した方法を選択してください。 DateTimeOffset
は、精度とタイムゾーンの認識が強化されているため、一般に好まれます。
以上がC#でエポック時間をリアルタイムに変換する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。