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天