/ / Rails get Date part of DateTime with Časové pásmo - ruby-on-rail, ruby, datetime, time

Rails dostať Date Date čas s časovou zónou - rubín-na-koľajnice, rubín, dátum, čas

Snažím sa vykonať dotaz v koľajniciach 3 s nasledujúcou syntaxou: CourseOrder.where("DATE(ordered_at) = ?", date).

Môj problém je, že koľajnice ukladajú všetky časy v UTC, takže v mojom časovom pásme (+2) v 0:33 je 4., ale v UTC je 3. dňa v mesiaci. Existuje spôsob, ako môžete dotazovať dátumovú časť časového pásma DateTime?

odpovede:

0 pre odpoveď č. 1

Nepoužívajte dátum, urobte to takto:

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

Ukladáte dátum dátumov, takže dopyt, ktorý namiesto pokusu o použitie dátumu, ktorý nezohľadňuje časové pásma.


0 pre odpoveď č. 2

vyriešil problém so zmenou, v ktorej hodnotách porovnávam.

Mám hodnotu dátumu, a teraz porovnám adátumová hodnota s dátumovou hodnotou, ktorá je lepšia ako porovnanie hodnoty dátumu s hodnotou dátumu, ktorá musí zlyhať. ďakujem, že ste ma viedli správnym smerom