Elixir UTC和DateTime结构的时区比较



我正在尝试比较两个日期时间,看看它们是否重叠。然而,一个是DateTime结构,另一个是~U[]时间——这就是它们从数据库中出来的方式。我不知道如何做到这一点——如果我能在UTC中比较它们,并保持时区意识,那就太好了。

我有两次是:start_datetime_1 = ~U[2022-03-31 11:15:00.000000Z]

以及starttime_2 = #DateTime<2022-03-31 11:15:00.000000+01:00 BST Europe/London>

我想做一些类似的事情:DateTime.compare(start_datetime_1, start_datetime_2 == :gt || :eq)

任何帮助都将不胜感激!

~U[2022-03-31 11:15:00.000000Z]DateTime相同,但在UTC中。一个标志~U[]只是句法糖。

您可以开箱即用地与DateTime.compare/2进行比较。它了解时区。

DateTime.compare(start_datetime_1, start_datetime_2) in [:gt, :eq]

相关内容

  • 没有找到相关文章

最新更新