Как настроить часовые пояса в Ruby для сохраненных элементов каждого пользователя - PullRequest
0 голосов
/ 14 октября 2011

У меня есть приложение со следующим базовым рабочим процессом:

  • У пользователей есть профили, в которых они могут установить местный часовой пояс (+2: 00 и т. Д.).
  • Действия пользователя добавляются в очередь заданий (коллекция mongo)

Во-первых, мне нужно сохранить элементы в очереди за время по Гринвичу - / + смещение часового пояса пользователя.

Каков наилучший способ сделать это?

В настоящее время у меня есть:

DateTime.parse("26 October 2011 14:45") + Rational(user.timezone.to_f, 24)

У меня есть подозрение, что приведенный выше код нене совсем надежны.

Существует также задание cron, которое выполняется ежечасно и обрабатывает задания - мне нужно запросить в очереди элементы, которые необходимо обработать в этот точный час (минуты не важны)

1 Ответ

1 голос
/ 14 октября 2011

Просто проанализируйте "scoping" через часовой пояс пользователя:

>> ActiveSupport::TimeZone.new('Madrid').parse("26 October 2011 14:45")
=> Wed, 26 Oct 2011 14:45:00 CEST +02:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...