Расчет часового пояса человека (смещение по Гринвичу) на основе номера телефона? - PullRequest
4 голосов
/ 27 января 2009

Я получил запрос показать местное время человека по номеру телефона. Я знаю наше местное смещение по Гринвичу, поэтому могу обрабатывать телефоны США через таблицу базы данных, которая связывает почтовый индекс США со смещением по Гринвичу (например, -5). Но я понятия не имею, как конвертировать неамериканские номера телефонов или названия стран (у этих людей, очевидно, нет почтового индекса).

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

Извините за все, что я не четко заявил, что я рассматривал HOME телефонных номеров. Так что роуминг не проблема. Я ищу справочную таблицу или приложение Oracle, откуда я могу получить эту информацию.

Спасибо

Стью

Ответы [ 7 ]

5 голосов
/ 27 января 2009

Флорида имеет два часовых пояса, но во многих странах только один. Вам нужна эта таблица: http://en.wikipedia.org/wiki/List_of_country_calling_codes. Извлеките код страны из телефонного номера, найдя 1 и код города для стран NANPA (тех стран, которые используют такое же распределение кодов 1 +, что и США), 7 для России или Казахстана. Если это не совпадает, проверьте, начинается ли номер с одного из двухзначных префиксов вызова, а затем с трехзначных.

Помните, что первые несколько цифр номера могут быть префиксом международного набора и не являются частью телефонного номера.

Для стран, которые охватывают более одного часового пояса, посмотрите, можете ли вы получить информацию о распределении у их национального регулятора электросвязи. Для США и других стран NANPA, проверьте http://www.nanpa.com/.

Конечно, ваши результаты будут далеки от совершенства, но, надеюсь, вы разбудите меньше клиентов от их ночного сна.

1 голос
/ 27 января 2009

Местное время - это одно, но если у вас есть клиенты по всему миру, есть и местные привычки, которые необходимо учитывать.

Люди обычно ложатся спать раньше в Норвегии, чем в Испании (и они находятся в одном часовом поясе).

0 голосов
/ 28 января 2009

Я думаю, что Дани, Борцмейер и другие задумались над проблемой. Дело не в том, чтобы максимально увеличить окно вызова, а в том, чтобы найти приемлемое время.

Давайте возьмем США и рассмотрим только 4 основных часовых пояса. Скажем, мы определяем приемлемо с 10 утра до 7 вечера. Я сомневаюсь, что даже норвежские фермеры-холостяки пойдут до 7 вечера.

Так что, если вы знаете, что телефон находится в США, не звоните до 13:00. Таким образом, если они находятся в Нью-Йорке или Лос-Анджелесе, это все еще после 10:00. И никаких звонков после 7 вечера. Кого волнует, если это Флорида-Майн или час спустя? Даллас или Эль-Пасо, тоже в одном штате, но в разных часовых поясах. Для США, фильтр для АК и HI. Единственная серьезно сложная страна - это Россия - много часовых поясов.

0 голосов
/ 27 января 2009

Невозможно. Если я проеду около 400 миль на восток (западное побережье США), я нарушу ваш алгоритм, имея номер XXX в часовом поясе YYY.

Теперь, если это приложение для мобильного телефона, кажется, возможно с что-то под названием NITZ .

0 голосов
/ 27 января 2009

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

0 голосов
/ 27 января 2009

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

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

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

Привет

0 голосов
/ 27 января 2009

Возможно, вам удастся заставить телефонную компанию предоставить вам данные о вашем местонахождении (эта информация должна существовать для наземных линий и должна существовать для ячеек), но вы должны заплатить.

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