如何在不比较微秒的情况下比较 2 个日期?

Posted

技术标签:

【中文标题】如何在不比较微秒的情况下比较 2 个日期?【英文标题】:How to compare 2 date without compare microsecond? 【发布时间】:2020-08-05 09:30:43 【问题描述】:

我关注this post。但是当我在操场上运行这个波纹管代码时,有一点机会它会打印“假”。 我认为原因是初始化 Date 对象时的微秒。

有更好的方法吗?或者如何在没有微秒的情况下进行比较?

let date1 = Date()
let date2 = Date()
print(date1)
print(date2)

print(date1 == date2)

更新 我试图以毫秒为单位打印,但我看到它们相同。

【问题讨论】:

【参考方案1】:

Calender 提供了一个方便的 API 来做到这一点

let date1 = Date()
let date2 = Date()

let isInSameSecond = Calendar.current.compare(date1, to: date2, toGranularity: .second) == .orderedSame

toGranularity 更改为所需的级别。

【讨论】:

成功了,谢谢。能否给我一种以纳秒为单位显示日期的方法?

以上是关于如何在不比较微秒的情况下比较 2 个日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不删除最新提交的情况下恢复到上一个​​提交?

比较文件的日期 bash

如何在不使用 for 循环的情况下将列表中的所有项目与整数进行比较

如何在windows开发环境下得到精确到微秒的系统时间?

如何在没有匹配索引的情况下比较来自两个 DF 的两个日期?

如何在不使用 strcmp 和方括号的情况下比较字符串?