gpt4 book ai didi

nsdate - Swift 3 - 查找两个日期之间的日历天数

转载 作者:行者123 更新时间:2023-12-02 03:10:54 25 4
gpt4 key购买 nike

我在 Swift 2.3 中这样做的方式是:

let currentDate         = NSDate()
let currentCalendar = NSCalendar.currentCalendar()

var startDate : NSDate?
var endDate : NSDate?

// The following two lines set the `startDate` and `endDate` to the start of the day

currentCalendar.rangeOfUnit(.Day, startDate: &startDate, interval: nil, forDate: currentDate)
currentCalendar.rangeOfUnit(.Day, startDate: &endDate, interval: nil, forDate: self)

let intervalComps = currentCalendar.components([.Day], fromDate: startDate!, toDate: endDate!, options: [])

print(intervalComps.day)

现在这一切都随着 Swift 3 发生了变化。我必须使用 NSCalendarNSDate通过不断键入类型转换 as ,或者找到 Swift 3 的方法。

在 Swift 3 中正确的方法是什么?

最佳答案

swift 5 有一个简单的单行来获取两个日期之间的天数(或任何其他 DateComponent):

let diffInDays = Calendar.current.dateComponents([.day], from: dateA, to: dateB).day
注意:正如评论中所指出的,此解决方案测量 24 小时周期,因此在 dateA 之间至少需要 24 小时。和 dateB .

关于nsdate - Swift 3 - 查找两个日期之间的日历天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com