поиск индикации перехода на летнее время по смещению и суффиксу часового пояса - PullRequest
0 голосов
/ 11 сентября 2011

Я использую веб-сервис Earth Tool для поиска часового пояса по долготе.Я получаю смещение и суффикс в веб-сервисе.

Earth Tool Webservice

Теперь проблема, с которой я столкнулся, заключается в том, что мне нужно получить часовой пояс из смещения и суффиксаи определить, есть ли летнее время в этом районе или нет.как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

.Net имеет хороший TimeZoneInfo.Local.IsDaylightSavingTime, но, к сожалению, у вас недостаточно информации для создания экземпляра.

Однако вы должны быть в состоянии сделать что-то вроде этого:

var offSet = -7;
var utcDateTimeStr = "2011-09-10 22:15:38";
var localWithDSStr = "10 Sep 2011 15:15:38";

// utc time
DateTime utcDateTime = DateTime.SpecifyKind(
                           DateTime.Parse(utcDateTimeStr), DateTimeKind.Utc);
// time taking into account daylight savings
DateTime localWithDS = DateTime.SpecifyKind(
                           DateTime.Parse(localWithDSStr), DateTimeKind.Local);
// time not taking into account daylight savings
DateTime localWithoutDS = utcDateTime.AddHours(offSet);

// is the time given adjusted for daylight savings
TimeSpan diff = (localWithoutDS - utcDateTime);
bool isDayLightSaving = diff.Hours != offSet;
0 голосов
/ 11 сентября 2011

Используемый вами API возвращает, если на этом ланге + лоте есть летнее время, вам не нужно определять его по смещению и суффиксу.

Смотрите это:

ДСТ
Включают ли элементы localtime и isotime летнее время. Если они это сделают, значение этого элемента будет Правда. Если они этого не делают, значение будет False. Если это не может быть определено, следует ли использовать летнее время, значение будет неизвестно. С: 1.1

Если вы хотите определить его самостоятельно, без этого атрибута, вы должны знать страну, на которую указывает точка, поскольку летнее время зависит от страны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...