Как получить информацию о часовом поясе для страны? - PullRequest
4 голосов
/ 14 мая 2009

Как я могу получить информацию о часовом поясе для страны?

Ответы [ 6 ]

2 голосов
/ 14 мая 2009

Забавно, что вы должны спросить. См. Клиентская библиотека REST для .NET, часть 1 . Он относится к веб-сайту и набору веб-служб, которые возвращают данные, основанные на местоположении, включая информацию о часовом поясе.

1 голос
/ 14 мая 2009

Несколько вещей, которые следует помнить при использовании данных часового пояса:

  1. Данные о часовом поясе зависят от местоположения ... Для кого вы показываете информацию о часовом поясе? Пользователь? У клиента?

  2. Данные о часовом поясе также включают забавную вещь, которая называется Летнее время , что означает, что ваши расчеты часового пояса будут меняться в зависимости от того, на какие даты вы их рассчитывали.

    1. Расчет времени в Филадельфии в июне отличается от расчета времени в декабре.
    2. Не все муниципалитеты отмечают переход на летнее время ...
  3. Изменения данных о часовом поясе ОЧЕНЬ ЧАСТО Например, США изменились, когда переход на летнее время начинался и заканчивался около 2 лет назад ... и Австралия принимала закон каждый из последних 2 лет определение, когда оно начнется и закончится в каждом из их состояний.

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

Хранить все время в UTC в вашей базе данных

1 голос
/ 14 мая 2009

Как уже говорили другие, это движущаяся цель. Я нашел этот сайт очень полезным:

http://www.timeanddate.com/worldclock/

Вы можете получить смещения UTC оттуда, и если вы действительно серьезно настроены, сделайте некоторую запланированную очистку, чтобы оставаться в курсе. Я использовал его несколько лет назад, чтобы разместить серию мировых событий на странице портала моей компании, чтобы показать время в главных офисах компании по всему миру.

0 голосов
/ 14 мая 2009

Как уже отмечали другие, на самом деле не существует хорошего способа сделать это еще больше, поэтому, если вы попытаетесь угадать, основываясь только на стране, есть очень хороший шанс, что данная страна может находиться в нескольких часовых поясах.

Поскольку ASP.NET находится в списке тегов, я собираюсь выйти на конечность и предположить, что вы пишете какое-то веб-приложение. В этой ситуации лучшим и, возможно, самым надежным вариантом будет просто указать конкретный пользовательский часовой пояс, в котором он находится. Как только вы узнаете часовой пояс, назначенный пользователем, вы можете делать с ним практически все, что захотите.

Следующим вариантом является тот, на который Джон Сондерс ссылается в своем посте, и который использует службу, такую ​​как EarthTools , для поиска местоположения и получения информации о часовом поясе. Единственный улов здесь заключается в том, что вам обычно нужно иметь возможность добраться хотя бы до города и страны, чтобы отфильтровать результаты, и вы должны быть осторожны, поскольку в одной и той же стране может быть несколько городов с одинаковым названием.

Наконец, если вы готовы принять результаты, которые иногда могут быть неверными, но у вас нет хорошего способа дать пользователю возможность указать, где они находятся, вы можете попробовать выполнить обратный просмотр IP, чтобы попытаться угадать где находится компьютер пользователя. Затем вы можете передать эту информацию вышеупомянутому EarthTools , чтобы получить информацию о часовом поясе. Однако на самом деле нет способа гарантировать, что это точно.

И последнее, на что следует обратить внимание: если вы находитесь в корпоративной глобальной сети, вы можете гораздо проще осуществить обратный просмотр IP, поскольку у вас есть доступ к макету глобальной сети, и вы можете просто краткий список того, откуда будет поступать данный IP-адрес.

0 голосов
/ 14 мая 2009

Этот веб-сайт содержит ссылки на все обычные данные часового пояса. База данных tz - это хорошее место для поиска. В общем, вам нужно знать местоположение в стране, а не только в стране.

0 голосов
/ 14 мая 2009

Это, вероятно, не отвечает на ваш вопрос, но вот форум, обсуждающий что-то вроде этого: получить часовой пояс из названия страны asp.net

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