Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 如何将日期与长生不老药和特效药进行比较_Elixir_Phoenix Framework_Ecto - Fatal编程技术网

Elixir 如何将日期与长生不老药和特效药进行比较

Elixir 如何将日期与长生不老药和特效药进行比较,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我有一个从数据库列中获取的exto.DateTime实例,我需要检查这个日期是否超过5分钟 最好的方法是什么 更清楚地说,这就是我在ruby中需要的-> updated_at < (Time.now - 5.minutes) 更新时间

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

最好的方法是什么

更清楚地说,这就是我在ruby中需要的->

updated_at < (Time.now - 5.minutes)
更新时间<(Time.now-5分钟)
您可以使用负值作为
计数
参数:

from u in User,
  where: u.reset_password_sent_at > datetime_add(^Ecto.DateTime.utc, -5, "minute")
如果需要在不使用查询的情况下执行此操作,则可以使用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)

我很惊讶这种东西没有一些方便的内置功能,但无论如何,谢谢你不是每个人都认为同样的东西“方便”