【问题标题】:Get the difference between two DateTimes with microsecond precision以微秒精度获取两个 DateTime 之间的差异
【发布时间】:2018-02-17 14:28:58
【问题描述】:

在 Elixir 中,您可以使用 :calendar.datetime_to_gregorian_seconds/1 将 Erlang 时间转换为自 Epoch 以来的秒数。问题是,仅凭秒数,您无法区分同一秒内发生的两个事件。

DateTime 结构,我的日期是实例,确实存储日期的微秒部分,但没有给我一个简单的方法来找到两个时间之间的差异。

有没有人知道一种方法(最好不使用库)来找出两个 DateTimes 之间的差异(以微秒为单位)?

【问题讨论】:

标签: date datetime time elixir


【解决方案1】:

:microseconds 选项传递给DateTime.diff/3

iex(1)> x1 = DateTime.utc_now()
#DateTime<2018-02-17 06:27:33.291406Z>

iex(2)> x2 = DateTime.utc_now()
#DateTime<2018-02-17 06:27:39.692571Z>

iex(3)> DateTime.diff(x2, x1, :microseconds)
6401165

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 2017-06-24
    相关资源
    最近更新 更多