以下の関数は、次のUNIX時間をC#DateTimeオブジェクトに変換することになっています。
1362506086000
上記の時間は、2012年3月5日12:54PMを表すことになっています。
ただし、以下の関数を実行するたびに、午後5時54分に変更されます。
2013年3月5日17:54:46
static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
static readonly double MaxUnixSeconds = (DateTime.MaxValue - UnixEpoch).TotalSeconds;
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
return unixTimeStamp > MaxUnixSeconds
? UnixEpoch.AddMilliseconds(unixTimeStamp)
: UnixEpoch.AddSeconds(unixTimeStamp);
}
UNIX時間を5:54ではなく12:54として適切に表すにはどうすればよいですか?