Swift 距离日期还有 4 天 [重复]

Posted

技术标签:

【中文标题】Swift 距离日期还有 4 天 [重复]【英文标题】:Swift 4 days until date [duplicate] 【发布时间】:2018-01-08 20:39:26 【问题描述】:

我正在努力计算某些日期之间的天数。

我想计算距离新年的天数或分钟数。 我尝试了一种使用 dateComponents 在另一篇文章中看到的方法,但我无法计算。

如果有人可以提供帮助,我会非常高兴。

谢谢!

【问题讨论】:

还有哪些帖子?你尝试了什么?怎么没用? 您能否发布您尝试使用的代码? 【参考方案1】:

查看您尝试提供的建议会很有帮助,但尽管如此,您可以使用 NSCalendar 的组件来完成此操作。

let calendar = Calendar.current
let startOfDay1 = calendar.startOfDay(for: date1)
let startOfDay2 = calendar.startOfDay(for: date2)
let components = calendar.dateComponents([.day], from: startOfDay1, to: startOfDay2)

您可以自定义上面的内容以从您的日期对象中获取更具体的分钟。

https://developer.apple.com/documentation/foundation/nscalendar/1407925-components

编辑:对于 Swift 4,您不需要桥接。您可以直接使用日历(上面的编辑代码)。 https://developer.apple.com/documentation/foundation/calendar/2293176-datecomponents

【讨论】:

为什么使用NSCalendar?这是 Swift4,除非您有充分的理由这样做,否则您不应该使用 Foundation 数据类型。您应该使用Calendar 而不是NSCalendar 好点@DávidPásztor NSCalendar 桥接日历,它有自己的组件。 如果您想进行对时间不敏感的日历计算,您应该使用中午而不是午夜。请注意,并非每天上午 12:00 开始 devstreaming.apple.com/videos/wwdc/2013/… 查看第 32 页。您也可以观看视频 developer.apple.com/videos/play/wwdc2013/227 @LeoDabus:startOfDay(for:) 不解决这个问题吗?我希望它返回一天的第一个 valid 日期,不一定是午夜。 @LeoDabus:你的例子对我不起作用,可能是因为时区不同。但无论如何:你是对的,它确实有所作为,同时我也得出了同样的结论。

以上是关于Swift 距离日期还有 4 天 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

计算截止日期和距离设定截止日期还剩多少天

有没有一种想iphone的那种日历 可以添加生日或者重要的日期 然后可以显示距离还有多少天的app

Microsoft Word使用域代码(field code)实现日期倒计时,类似距离xx年xx月xx日还有xx天

Microsoft Word使用域代码(field code)实现日期倒计时,类似距离xx年xx月xx日还有xx天

距离日期还有几天的 Android Toast

php 计算距离天的时间还有多少天