我正在尝试比较两个日期时间,看看它们是否重叠。然而,一个是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]