【问题标题】:Elixir equivalent for Ruby on Rails time helpers (e.g. 1.day.ago)Ruby on Rails 时间助手的 Elixir 等效项(例如 1.day.ago)
【发布时间】:2021-01-20 06:04:39
【问题描述】:

我目前正在构建 Phoenix 应用程序,并且对生态系统还比较陌生。来自 Ruby on Rails,我已经习惯了 rails 中提供的方便的日期/时间方法(我相信通过内置的 ActiveSupport Gem)。例如:

1.day.ago
some_date_time + 1.hour
some_date.next_weekday.at_beginning_of_day

我特别欣赏他们能够清晰简洁地表达概念上简单(至少对人类而言)时间操作,同时抽象出混乱的日期数学。

我认为以下内容令人反感

NaiveDateTime.add(
  NaiveDateTime.utc_now(),
  Enum.random(-5..-1) * 60 * 60 * 24)

目前尚不清楚,也无法处理诸如闰秒/天等微妙的时间警告。也不清楚我如何前进 1 个月或一年。

是否有提供类似清晰度和功能的流行/佳能 Elixir 软件包?如果它也简洁,则加分。

【问题讨论】:

    标签: datetime elixir


    【解决方案1】:

    嗯,有timex,可能是最常用的elixir时间相关库。我不认为它拥有 Rails 的所有花里胡哨,但它应该让生活更轻松一些。 timex 自述文件中的一些示例:

    > use Timex
    > datetime = Timex.now
    #<DateTime(2016-02-29T12:30:30.120+00:00Z Etc/UTC)
    > Timex.shift(datetime, hours: 2, minutes: 13)
    #<DateTime(2016-02-29T14:43:30.120Z Etc/UTC)>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2011-07-13
      • 2011-10-05
      • 2011-06-04
      • 2011-05-22
      相关资源
      最近更新 更多