Estoy tratando de encontrar eventos en determinados días con este código:Rails 3 DateTime y hora formato beginning_of_day end_of_day incorrecta
Event.where('starttime BETWEEN ? AND ?', DateTime.now.beginning_of_day, DateTime.now.end_of_day)
En la consola rieles si funciono DateTime.now.beginning_of_day
consigo exactamente lo que espero:
Lunes, 09 de abril de 2012 00:00:00 -0700
Veo dónde está ocurriendo el problema, pero miro la consola SQL en los rieles. De alguna manera, cuando la fecha llega a la consulta SQL, se formatea automáticamente en la fecha y hora incorrectas.
SELECT "events".* FROM "events" WHERE (starttime BETWEEN '2012-04-09 07:00:00' AND '2012-04-10 06:59:59')
Esto me está dando resultados que varían desde hoy hasta mañana, como dice el sql anterior. Puedo ver que cuando DateTime.now.beginning_of_day también DateTime.now.end_of_day están siendo formateados incorrectamente una vez que entran en la consulta sql. ¿Debo formatear esto de cierta manera? ¿Alguna idea de por qué iría a las 7:00 de hoy y a las 7:00 de mañana?
No sé si hace una diferencia, pero estoy usando PostgreSQL.
Gracias!
hey, aprecio la respuesta. No sé si te sigo por completo, pero no creo que sea una buena idea cambiar mi configuración a la hora pacífica, porque ¿qué pasa con los usuarios que no están en tiempo pacífico? Espero que entienda lo que dices. Además, usar DateTime.now.utc.beginning_of_day está causando el mismo problema cuando ejecuto las consultas que enumeré en mi publicación inicial. – botbot
sí, estoy en el momento pacífico. después de investigar un poco, parece que esta es una posible solución. Voy a intentar esto. Gracias por la sugerencia. Todavía estoy preocupado por los usuarios en NY, no sé si eso sería un problema, pero hacer que la aplicación funcione en tiempo pacífico definitivamente es lo suficientemente bueno para la creación de prototipos en este momento. Gracias. – botbot
@masterkrang, si necesita preocuparse por los usuarios en Nueva York y diferentes zonas horarias, registre en qué zona horaria se encuentra el usuario y configúrelo adecuadamente para esa solicitud de los usuarios, p. https://gist.github.com/809775 – rainkinz