Elixir 用phoenix的Word格式化一段时间以前的格式

Elixir 用phoenix的Word格式化一段时间以前的格式,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我正试图将我的模板中的时间格式化为“12秒前”或“14分钟前”。Ecto目前发出的超时看起来像是2016-06-28 21:35:21 目前,我只是这样渲染时间: 我知道ruby/rails有一个名为time\u ago\u in\u words()的函数,它完成了我正在寻找的功能。也许这可以通过新的Elixir 1.3日历类型实现?您可以使用Timexhex软件包。具体功能。您需要确保您的日期类型为DateTime。然后简单地使用 Timex.from_now(my_date) #"2 hou

我正试图将我的模板中的时间格式化为“12秒前”或“14分钟前”。Ecto目前发出的超时看起来像是
2016-06-28 21:35:21

目前,我只是这样渲染时间:


我知道ruby/rails有一个名为
time\u ago\u in\u words()
的函数,它完成了我正在寻找的功能。也许这可以通过新的Elixir 1.3日历类型实现?

您可以使用
Timex
hex软件包。具体功能。您需要确保您的日期类型为DateTime。然后简单地使用

Timex.from_now(my_date)
#"2 hours ago"
要将
exto.DateTime
转换为
Timex.DateTime

my_ecto_dateTime
#Ecto.DateTime<2016-05-16T16:26:55Z>
{:ok, date} =  Ecto.DateTime.dump(my_ecto_dateTime)
my_date = Timex.DateTime.from date
我的外星日期时间
#日期时间
{:好的,date}=exto.DateTime.dump(my_-exto_-DateTime)
my_date=Timex.DateTime.from date

time_ago_in_words(~N[2015-03-05 21:45:00])
"about 6 years"

distance_of_time_in_words(~N[2004-06-06 21:45:00], ~N[2004-06-06 21:45:00], include_seconds: true)
"less than 5 seconds"

distance_of_time_in_words(~N[2004-06-06 21:45:00], ~N[2004-06-06 21:45:00])                       
"less than a minute"