私は、DateTime
オブジェクトを、GMT時間に設定されたOS上のすべての適切なプロパティを取得する方法があるかどうかを調べようとしています。時間を変えるだけではありません。GMT/UTC時間のマシンでDateTime.IsDaylightSavingTimeを動作させる方法はありますか?
DateTime f = new DateTime(2012, 8, 1); //A date on summer
DateTime f2 = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(f, TimeZoneInfo.Local.Id, "Central Europe Standard Time");
var isSummer = f2.IsDaylightSavingTime(); //It always returns false if the OS is on GMT
そしてそれは、GMTがうまく、しかしIsDaylightSavingTime
機能文句を言わない作業中央ヨーロッパ標準時になるように1時間&日付を変更します。
は今何イムがやってすることです。システムでGMTを使用しているため、常にfalseが返されますが、私は中央ヨーロッパ向けにDateTime
を作成したので、そうしてはいけないと思います。
DateTime
オブジェクトを実際にローカルにする方法はありますか?その8月がヨーロッパ中央であれば、falseの代わりにtrueを返さなければならないことを理解してください。
マシンでローカル時間を使用すると問題なく動作しますが、サーバーでGMT時間を変更することはできません。私は愛するが、私は傾ける。 :-)
のTimeZoneInfo方法をIsDayLightSavingTime使用している場合、検証したい場合は
は、私は、8月程度ではない心配イムを明確にしたい私時間を変更する正確な日であるかどうかを知るための自分の関数です。そして、それでも、使用しているデータが異なる時間帯のフライトであるため、場所によって異なります。 – H27studio
関連:http://stackoverflow.com/q/2532729/1583 – Oded