#author("2020-04-30T21:21:30+09:00","","")
#author("2020-04-30T21:23:21+09:00","","")
#navi(../)
* UNIX時間をDateTimeOffset, DateTimeにする [#pbe40028]
UNIX時間をDateTimeOffset、DateTimeにするサンプルコードを C#, Visual Basic で紹介ます。

#contents

* 参考サイト [#oaf692ae]
* 関連サイト [#oaf692ae]
-[[Microsoft .NET | DateTimeOffset 構造体>https://docs.microsoft.com/ja-jp/dotnet/api/system.datetimeoffset]]
-[[Microsoft .NET | DateTime 構造体>https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime]]

#htmlinsert(windev-top.html)

* 関連記事 [#ge8f4f4b]
-[[UNIX時間への変換・DateTimeOffset>.NET/UNIX時間への変換・DateTimeOffset]]

* 動作確認環境 [#e26a2f7d]
-Windows 10
-Visual Studio 2019
-.NET Core 3.1
-コンソールアプリケーション

* UNIX時間をDateTimeOffset, DateTimeを使って変換 [#y5b17bae]
以下のサンプルコードでは、DateTimeOffset の ''FromUnixTimeSeconds'' を使って UNIX時間をDateTimeOffset、 DateTime で使用できるようにします。~
本サンプルコードでは、紹介していませんが、ミリ秒の FromUnixTimeMilliseconds もあります。~
サンプルコードの動作は以下の通りです。
+ UNIX時間に0を指定
+ DateTimeOffsetの''FromUnixTimeSeconds''を使って変換
+ DateTimeOffsetの日時を表示(0なので 1970/1/1 0:0:0 になります。)
+ ローカル時間を指定し、DateTimeOffsetの日時を表示しています。~
ToLocalTimeを使っているので、私の環境では日本時間となっているため、+9時間表示となります。
+ DateTimeOffsetをDateTimeに代入し日時を表示しています。


** C# [#ca5fbfa6]
 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 [#kefb7e05]
 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

** 実行結果 [#c3273a11]
上記のサンプルコードを実行した時のキャプチャになります。
#ref(run.png)

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

#htmlinsert(windev-btm.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS