Я немного потерян в часовом поясе:)
У меня есть данные, хранящиеся со временем в UTC.Сервер находится в Нидерландах, поэтому мы живем в utc + 1 (сейчас, с переходом на летнее время, в utc + 2)
Теперь клиент говорит: дайте мне данные 5 августа.
Так что я должен рассчитать время utc из «его времени».Для этого я должен знать:
каково ваше смещение utc (мы сохранили это в его профиле, скажем, utc -6), вы в летнее время (потому что тогда мы должны добавить +1 и сделать смещение utc-5)
Тогда мои вопросы:
Могу ли я задать вопрос .Net Framework: есть ли у страны XX летнее время?
Могу ли я спросить .Net Framework: 08-05-2010T00: 00: 00 в стране XXX летнее время в данный момент?
я пробовал .ToLocalTime (),но это только дает мне местное время на сервере, и это не то, что я хочу, я хочу рассчитать с часовым поясом пользователя, а также с тем фактом, что в этот конкретный момент времени, если он / она находится в летнее время
Я также видел этот пример VB:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
, но imho это не учитывает, что пользователь в этом часовом поясе находится или не находится в стране перехода на летнее время (dst),Например, один пользователь в этом часовом поясе находится в Нидерландах с dst, а другой - в другой стране, в которой нет dst.