Я использую MySQL для хранения моих данных. Я записал даты с различным смещением в соответствии с каждым часовым поясом. Важное значение для этих дат - только «эффективное» время. Вот пример:Получить дату без смещения
date1 = "Thu, 27 Oct 2016 07:00:00 CEST +02:00"
# I want to get 700
date2 = "Thu, 27 Oct 2016 22:00:00 CEST +02:00"
# I want to get 2200
Я хотел бы получить эти значения, чтобы сравнить их с моим текущим временем. Тогда, если это в настоящее время "2016-11-17 10:12:00 +0100", я хотел бы сравнить по п where
:
"1012" > "2200"
# or
"1012" > "700"
Вот подделкой значение записи:
# my_table
# | id | my_hour
# | XX | "Thu, 27 Oct 2016 07:00:00 CEST +02:00"
# | XY | "Thu, 27 Oct 2016 22:00:00 CEST +11:00"
Вот мой код:
hour = Time.zone.now
# "2016-11-18 21:10:00 +0100"
where("CAST(DATE_FORMAT(my_hour,'%H%i') AS UNSIGNED) < ?", hour.strftime("%H%M").to_i)
# => Get XX record?
проверить эту стратегию. Гораздо проще: http://stackoverflow.com/a/32068755/267540 – e4c5
Настоящая история. К сожалению, мне приходится иметь дело с часовым поясом на этой таблице. На данный момент у меня нет другого выбора. Вот почему я задаю этот вопрос, но ваш ответ прав в других обстоятельствах. Благодарю. – BriceB