Формат даты и времени Rails - PullRequest
2 голосов
/ 07 января 2020

У меня проблемы с пониманием формата даты и времени в рельсах. Я сохранил дату, которая называется 'sets_at', а тип - datetime с использованием почтальона.

{
    "reservation": {
        "starts_at": "2020-1-7 7:00 pm",
        "expires_at": "2020-1-7 9:00 pm"
    }
}

Я хочу ввести другую дату и хочу, чтобы дата, которую я вводил каждый раз, находилась с интервалом в 120 минут после. Поэтому я попытался вытащить «sets_at» из моей модели «оговорки» и попытался провести l oop через каждую дату «start_at» и сравнить их разницу с моими новыми введенными датами «Start_at».

# I have defined scope to pluck the 'starts_at' in reservation.rb
# scope :starts_at, -> { pluck(:starts_at) }

def create
   Reservation.starts_at.each do |starts_at|
        time_diffs = time_diff_in_minutes(date_time_conversion(starts_at) - params[:starts_at].to_datetime)
        if time_diffs < 120
          return
        end
        @reservation = Reservation.new(processed_params)
        reservation.save
      end
   end


  private

  def date_time_conversion(starts_at)
    starts_at.to_datetime
  end

  def time_diff_in_minutes(time_calc)
    (time_calc * 24 * 60).to_s.to_i.abs
  end

У меня есть одно значение в базе данных, у которого start_at datetime = "2020-1-7 7:00 pm". Когда я запускаю отладчик и проверяю набранное значение, оно имеет формат примерно такой:

Tue, 07 Jan 2020 18:00:00 +06 +06:00

И формат введенной даты был примерно таким:

 Tue, 07 Jan 2020 19:00:00 +0000

Я хочу понять, что делает +06 +6: 00 означает и как postgresql база данных хранит объект даты и времени и формат возврата. Ваша помощь будет высоко оценена. Спасибо!

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