Я получаю фиды данных с нескольких разных серверов по всей стране, а элементы отправляются с отметкой времени с GMT. Я знаю смещение GMT для каждого из мест в стандартное время, но я не уверен, какие местоположения поддерживают/наблюдают Daylight Time. Обычно я просто проверяю свое местное время, чтобы узнать, что такое смещение, а затем оттуда - я мог бы легко определить, наблюдается ли в настоящее время DST из-за текущего смещения от GMT) - за исключением того, что мой сервер находится в Аризоне, где DST не наблюдается. В результате я всегда GMT-7, независимо от того, активен ли DST.Определить текущий статус DST, когда я не наблюдаю DST в своем часовом поясе (SQL Server)
Есть ли простой способ определить, наблюдается ли DST, когда мой локальный сервер не меняет время? Я даже мог написать компонент .NET SQL-CLR, который проверяет что-то в системе, если мне нужно, хотя я бы идеально хотел сделать это непосредственно из кода T-SQL, если это возможно.
Я надеялся избежать этого, но это возможность - я знаю, откуда берутся каждый поток данных, поэтому я могу просто выбрать сервер в каждом часовом поясе и отслеживать его ответ на этот вопрос, а затем соответственно изменить значения даты и времени , Спасибо за ваше предложение. – SqlRyan
Добро пожаловать. Я думаю, вам нужно будет проверить все серверы, поскольку соблюдение DST может варьироваться в пределах часового пояса, например. Индианаполис. –
Проблема в том, что серверы SQL не являются тем, что отправляет потоки, и у меня нет SQL Server в том же городе, что и каждый источник. В лучшем случае это аппроксимация, поэтому я думаю, что, вероятно, буду хранить скорректированное время и предполагаемое смещение вместе с ним, поэтому, если смещение неверно по какой-то причине, я всегда могу легко изменить его позже. – SqlRyan