UNIX時間への変換・DateTimeOffset †DateTimeやDateTimeOffisetで持っている年月日時分秒をUNIX時間に変換する C#, Visual Basic のサンプルコードの紹介です。 関連サイト †関連記事 †動作確認環境 †
UNIX時間に変換するサンプルコード †以下に C#, Visual Basicのサンプルコードと実行結果を記します。
C# †using System; class Program { static void Main(string[] args) { // JST TimeZoneInfo jst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time"); DateTimeOffset jst1970 = new DateTimeOffset(1970, 1, 1, 0, 0, 0, jst.BaseUtcOffset); Console.WriteLine( "JST : " + jst1970.ToString() + ", UnixTime(Seconds): " + jst1970.ToUnixTimeSeconds() + ", UnixTime(Milliseconds): " + jst1970.ToUnixTimeMilliseconds()); // UTC DateTimeOffset utc1970 = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeZoneInfo.Utc.BaseUtcOffset); Console.WriteLine( "UTC : " + utc1970.ToString() + ", UnixTime(Seconds): " + utc1970.ToUnixTimeSeconds() + ", UnixTime(Milliseconds): " + utc1970.ToUnixTimeMilliseconds()); // DateTime -> DateTimeOffset DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0); DateTimeOffset dto; dto = dt; Console.WriteLine("DateTime->DateTimeOffset UnixTime(Seconds) : " + dto.ToUnixTimeSeconds()); } } Visual Basic †Imports System Module Program Sub Main(args As String()) 'JST Dim jst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time") Dim jst1970 = New DateTimeOffset(1970, 1, 1, 0, 0, 0, jst.BaseUtcOffset) Console.WriteLine( "JST : " & jst1970.ToString & ", UnixTime(Seconds): " & jst1970.ToUnixTimeSeconds & ", UnixTime(Milliseconds): " & jst1970.ToUnixTimeMilliseconds) 'UTC Dim utc1970 = New DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeZoneInfo.Utc.BaseUtcOffset) Console.WriteLine( "UTC : " & utc1970.ToString & ", UnixTime(Seconds): " & utc1970.ToUnixTimeSeconds & ", UnixTime(Milliseconds): " & utc1970.ToUnixTimeMilliseconds) 'DateTime -> DateTimeOffset Dim dt As DateTime = New DateTime(1970, 1, 1, 0, 0, 0) Dim dto As DateTimeOffset dto = dt Console.WriteLine("DateTime->DateTimeOffset UnixTime(Seconds) : " & dto.ToUnixTimeSeconds) End Sub End Module 実行結果 †上記サンプルコード実行結果のキャプチャになります。 以上、DateTimeOffset の ToUnixTimeSeconds, ToUnixTimeMilliseconds を使ってUNIX時間を取得するサンプルコードの紹介でした。 |