Rails получают часть даты DateTime с часовым поясом - PullRequest
1 голос
/ 10 апреля 2011

Я пытаюсь выполнить запрос в рельсах 3 со следующим синтаксисом: CourseOrder.where("DATE(ordered_at) = ?", date).

Моя проблема в том, что рельсы все время сохраняются в UTC, поэтому в моем часовом поясе (+2) в 0:33 это 4-е место, а в UTC - 3-е число месяца.Есть ли способ запросить часть даты DateTime с часовым поясом?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2011

решил проблему с изменением значений, которые я сравниваю.

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

0 голосов
/ 10 апреля 2011

Не используйте дату, сделайте это следующим образом:

time = DateTime.civil_from_format(:local, 2011, 4, 9)
CourseOrder.where("ordered_at > ? AND ordered_at < ?", time - 1.day, time)

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

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