установка местного времени в рельсах - PullRequest
0 голосов
/ 24 августа 2011

Я живу в часовом поясе GMT ​​+ 5.30. Мое приложение rails при сохранении значений для updated_at и creation_at всегда сохраняет время по Гринвичу. Как я могу по умолчанию в моем приложении rails ввести время в GMT + 5.30 времени?

Ответы [ 3 ]

3 голосов
/ 25 августа 2011

Мне понадобилось время, чтобы поймать и этого ...

в вашем файле environement.rb есть:

config.time_zone = "something"

изменить на:

config.time_zone = "Eastern Time (US & Canada)"

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

Rails просто сохраняет время по умолчанию. это вы переводите время в хороший часовой пояс.

2 голосов
/ 24 августа 2011

Вы всегда должны хранить время в формате UTC в своей базе данных, чтобы оно не было географически привязанным.Затем вы можете представить время по местному времени пользователя или системное значение по умолчанию.чтобы сделать это, измените следующее в вашем application_controller.rb Например:

class ApplicationController < ActionController::Base
  before_filter :set_user_time_zone

protected
  def set_user_time_zone
    Time.zone = 'New Delhi'
  end
end

Вы можете рендерить все это время по местному времени:

Time.now.localtime.in_time_zone(Time.zone)
# => Thu, 25 Aug 2011 01:23:43 IST +05:30

Вы, вероятно, можете очистить это с помощьювспомогательный метод.

0 голосов
/ 24 августа 2011

Похоже, вы получите ответ здесь, если ваше приложение на Rails 3.

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