超まとめ
<br> $unixTimestamp = <unix timestampの値></p> <p>$utcDate = ([DateTime]::Parse("1970/01/01 00:00:00")).addSeconds($unixTimestamp);<br> $localDate = [TimeZoneInfo]::ConvertTimeFromUtc($utcDate, [TimezoneInfo]::Local)<br>
unix timestampはUTCなので、$localDateでunix timestampを変換して得た$utcDateをローカル時間に変換しています。
$unixTimestamp = 1516340941で実行した場合の$utcDateと$localDateはそれぞれこんな感じです。
C#で。
<br> using System;</p> <p>namespace jp.sevenb.Extensions<br> {<br> public static class LongExtensions<br> {</p> <p> private static DateTime UNIX_EPOCH = new DateTime(1970, 1, 1, 0, 0, 0, 0);</p> <p> public static DateTime ParseUnixTimestamp(this long unixTimestamp)<br> {<br> return LongExtensions.UNIX_EPOCH.AddSeconds(unixTimestamp);<br> }<br> }<br> }<br>
<br> using System;<br> using jp.sevenb.Extensions;</p> <p>namespace Sample<br> {<br> class Program<br> {<br> static void Main(string[] args)<br> {<br> Console.WriteLine(1516340941L.ParseUnixTimestamp());<br> }<br> }<br> }</p> <p>
逆バージョンはこちらで紹介しています。