2017-03-27 9 views
0

に1時間を追加します。私はミリ秒でローカルタイムを取得するために、次のコードを持っている夏のDST

var dtNow = DateTime.Now; 
var time = TimeSpan.FromMilliseconds((dtNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime()).TotalMilliseconds); 
long end_time = Convert.ToInt64(time.TotalMilliseconds); 

時間オブジェクト時間(午前11時20分00秒)が、ミリ秒のオブジェクトを修正する指示が12に示します:20:00、なぜその出来事と私はそれを修正することができますか?

夏の前dstその作品perfecr。

ありがとうございます!

+0

は現地時間と時間変更の問題を回避するために(夏/冬)あなたはUTCの時間を使うべきです。とにかく現地時間で作業する必要がある場合は、[DateTimeOffset構造体](https://msdn.microsoft.com/en-us/library/system.datetimeoffset(v = vs.110).aspx) – Shenron

+1

をチェックしてください。 [.NET FrameworkのDateTimeを使用したコーディングのベストプラクティス](https://msdn.microsoft.com/en-us/library/ms973825.aspx) – Shenron

答えて

1

あなたdtNow = DateTime.Now;がローカルであるためと(dtNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).ToLocalTime())であなたは.ToLocalTime()

しようとする現地再び時間を変換している:

var dtNow = DateTime.UtcNow; 
関連する問題