Я пытаюсь узнать, есть ли способ заставить объект DateTime
получить все нужные свойства в ОС, для которой установлено время по Гринвичу.Не просто изменение времени.
Сейчас я делаю следующее:
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
И это меняет час и дату, чтобы время по Гринвичу стало стандартным временем Центральной Европы, но IsDaylightSavingTime
функция не будет работать.Он всегда возвращает false, потому что я использую GMT в системе, но я думаю, что не должен, потому что я создал DateTime
для центральной Европы.
Есть ли способ сделать объект DateTime
f2
действительно локально и дает понять, что если его август и Европейский центральный, он должен возвращать true вместо false?
Я знаю, если я использую локальное время на машине, это будет работать нормально, но я не могу изменитьВремя по Гринвичу на сервере.Я бы с удовольствием, но я не могу.: -)