get_by etimologia elixir phoenix-framework ecto

etimologia - Cómo comparar fechas con Elixir y Ecto.



phoenix mix routes (1)

Puede hacerlo usando datetime_add/3 usando un valor negativo como argumento de count :

from u in User, where: u.reset_password_sent_at > datetime_add(^Ecto.DateTime.utc, -5, "minute")

Si necesita hacerlo sin utilizar una consulta, puede utilizar las funciones en el módulo de :calendar erlang:

ecto_5_mins_ago = Ecto.DateTime.utc |> Ecto.DateTime.to_erl |> :calendar.datetime_to_gregorian_seconds |> Kernel.-(60 * 5) |> :calendar.gregorian_seconds_to_datetime |> Ecto.DateTime.from_erl Ecto.DateTime.compare(u.reset_password_token, ecto_5_mins_ago)

Tengo una instancia de Ecto.DateTime que obtengo de una columna de base de datos y necesito verificar si esta fecha es más de 5 minutos en el pasado.

¿Cuál es la mejor manera de hacer eso?

Para que quede más claro, esto es lo que necesito en ruby ​​->

updated_at < (Time.now - 5.minutes)