Как надежно определить часовой пояс для пользователя из API Twitter?

При получении информации из ТвиттераAPI для пользователя, они предоставляют два поля, связанные с пользователемчасовой пояс:

utc_offset: -14400,
time_zone: "Indiana (East)"

К сожалению, это нене рассказать всю историю, потому что я неt знать, было ли рассчитано это смещение UTC в течение стандартного времени или перехода на летнее время. После деления на 3600 секунд я получаю -4 часа, что действует в летние месяцы, но зимой правильное значение будет -5 часов.

Если значение ВСЕГДА определялось значением летнего времени, то я мог бы написать алгоритм для этого, однако после некоторого поиска по теме "Мы видели несколько вставленных результатов, которые противоречат этому предположению. (в качестве быстрого примера,этот вопрос показывает его / ее смещение как -21600, а затем он / она говорит, что он / она находится в центральном времени, которое, если рассчитать в летнее время, будет -18000).

Для меня будет иметь смысл вычислить значение по состоянию на 1 января и несколько вставленных результатов, которые яя обнаружил, что онлайн попадает в эту категорию, но моя собственная учетная запись Twitter показывает значения, перечисленные выше, для которых это предположение недопустимо. Моя следующая мысль была, может быть, она была рассчитана во время создания моей учетной записи, но тогда это также кажется ошибочным, потому что я могу изменить свой часовой пояс в любой более поздний момент (и даже в этом случае я создал свою учетную запись в ноябре, когда я был бы на стандартном и не дневном времени!).

Моей последней мыслью было, что, возможно, значение рассчитывается по дате запроса API. Это имеет большой смысл, и учетные записи Twitter, которыми я владею, похоже, подтверждают это. НО,вопрос SA, с которым я связан ранее показывает, что человек ответил на вопрос 2 июня, что является переходом на летнее время, а его значение -21600 отражает стандартное время для центрального часового пояса.

Кто-нибудь там решить эту проблему? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос