- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-04-30T21:19:53+09:00","","")
#navi(../)
* UNIX時間をDateTimeOffset, DateTimeにする [#pbe40028]
UNIX時間をDateTimeOffset、DateTimeにするサンプルコードを C#, Visual Basic で紹介ます。
#contents
* 参考サイト [#oaf692ae]
#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)