Скажем, мое приложение для Windows работает в восточном часовом поясе (NY).Как получить статус летнего времени другого часового пояса
Я конвертирую и сохраняю каждое событие datetime (в момент их появления) в UTC, так что любое клиентское приложение, которое подключается к серверу, считывает время UTC и преобразует его и отображает его в собственной TZ клиента.
Но вот сложная часть, некоторые события сообщают о своей временной отметке в другое состояние и не указывают явно информацию о летнем освещении (например, xx: xx: xx AM PT, что означает «Тихоокеанское время», но я не знаю, в летнее время).
Сервер может проверить, находится ли он в летнее время, но это будет для собственного TZ сервера (который является Восточным временем). Лучшее, что я мог придумать, это прочитать локальную информацию о летнем освещении сервера и использовать ее для PT, но я знаю, что это не на 100% точно. Особенно в коротком окне, когда ET только что начал (или остановился) с использованием летнего времени, и у PT есть еще часы для этого.
Теперь мой вопрос: есть ли способ (в Windows API) точно узнать о статусе летнего времени другого временного зонда, независимо от того, в каком часовом поясе находится приложение сервера?
Редактировать: ok, как его преобразовать в UTC «Sun, Mar 13, 2016 1:15 AM PT», с Windows-машины, работающей в восточное время? (обратите внимание, что эта дата/время, особенно выбранная, когда работающий компьютер (в ET) находится в DST в данный момент, а дата/время, которое нужно преобразовать, не только что осталось в DST. У меня есть конвертация UTC, но не удалось
ли [этот предыдущий вопрос] (http://stackoverflow.com/questions/2532729/daylight-saving-time-and-time-zone-best-practices) Помогите? –
Как вы определяете часовой пояс в своем приложении? Если аббревиатуры типа «ПТ» - все, что у вас есть, вы можете найти очень трудное или невозможное. Являются ли эти входы ограниченными некоторым набором фиксированных значений? Или они могут быть буквально кем угодно? –
@MattJohnson они обычно являются стандартными строками даты/времени в HTTP (которые фактически содержат информацию DST, например xx: xx: xx AM PST или PDT, если DST активен), но некоторые серверы не так щедры, чтобы предоставить информацию DST и просто сказать что это PT (Pasific Time) и дает вам возможность выяснить, находится ли PT в DST или нет на дате/времени. Системе (Windows) следует это знать, поскольку она корректирует системные часы на 2-м и 1-м воскресеньях марта и ноября и может предоставить это пользователю с API. –