gpt4 book ai didi

elixir - 如何使用 Elixir 和 Ecto 比较日期

转载 作者:行者123 更新时间:2023-12-03 12:49:42 25 4
gpt4 key购买 nike

我有一个 Ecto.DateTime 的实例我从数据库列中得到,我需要检查这个日期是否超过 5 分钟。

最好的方法是什么?

为了更清楚,这就是我在 ruby​​ 中需要的->

updated_at < (Time.now - 5.minutes)

最佳答案

您可以使用 datetime_add/3使用负值作为 count争论:

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

如果您需要在不使用查询的情况下执行此操作,您可以使用 :calendar 中的函数。二郎模块:
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)

关于elixir - 如何使用 Elixir 和 Ecto 比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32309217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com