このエントリーをはてなブックマークに追加


UNIX時間をDateTimeOffset, DateTimeにする

UNIX時間をDateTimeOffset、DateTimeにするサンプルコードを C#, Visual Basic で紹介ます。

関連サイト



スポンサーリンク

関連記事

動作確認環境

  • Windows 10
  • Visual Studio 2019
  • .NET Core 3.1
  • コンソールアプリケーション

UNIX時間をDateTimeOffset, DateTimeを使って変換

以下のサンプルコードでは、DateTimeOffset の FromUnixTimeSeconds を使って UNIX時間をDateTimeOffset、 DateTime で使用できるようにします。
本サンプルコードでは、紹介していませんが、ミリ秒の FromUnixTimeMilliseconds もあります。
サンプルコードの動作は以下の通りです。

  1. UNIX時間に0を指定
  2. DateTimeOffsetのFromUnixTimeSecondsを使って変換
  3. DateTimeOffsetの日時を表示(0なので 1970/1/1 0:0:0 になります。)
  4. ローカル時間を指定し、DateTimeOffsetの日時を表示しています。
    ToLocalTimeを使っているので、私の環境では日本時間となっているため、+9時間表示となります。
  5. DateTimeOffsetをDateTimeに代入し日時を表示しています。

C#

using System;

class Program
{
    static void Main(string[] args)
    {
        long unixtime = 0L;

        DateTimeOffset dto = DateTimeOffset.FromUnixTimeSeconds(unixtime);
        Console.WriteLine("DateTimeOffset     : " + dto.ToString());
        Console.WriteLine("DateTimeOffset(JST): " + dto.ToLocalTime().ToString());

        DateTime dt = dto.DateTime;
        Console.WriteLine("DateTime           : " + dt.ToString());
    }
}

Visual Basic

Module Program
    Sub Main(args As String())

        Dim unixtime As Long = 0L

        Dim dto As DateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(unixtime)
        Console.WriteLine("DateTimeOffset     : " & dto.ToString())
        Console.WriteLine("DateTimeOffset(JST): " & dto.ToLocalTime().ToString())

        Dim dt As DateTime = dto.DateTime
        Console.WriteLine("DateTime           : " + dt.ToString())

    End Sub
End Module

実行結果

上記のサンプルコードを実行した時のキャプチャになります。

run.png

以上、UNIX時間をDateTimeOffset, DateTime に変換するサンプルコードでした。



スポンサーリンク


添付ファイル: filerun.png 57件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-04-30 (木) 21:23:21