gpt4 book ai didi

ios - 跨越新年时获取两个 NSDate 之间的天数

转载 作者:行者123 更新时间:2023-11-29 00:55:42 25 4
gpt4 key购买 nike

我需要获取我得到的两个日期之间的天数,但如果我输入例如:2016-12-10和2017-01-10,天数将为负数.这只是在这两个日期之间的新年时发生。

//Get the number of days between two NSDates
func daysBetween(date: NSDate) -> Int {
let calendar: NSCalendar = NSCalendar.currentCalendar()
let date1 = calendar.startOfDayForDate(self)
let date2 = calendar.startOfDayForDate(date)
let components = calendar.components(.Day, fromDate: date1, toDate: date2, options: [])
return components.day
}

//Using the function
let daysBetween = fromDate.daysBetween(toDate)

//Printing -334 if new year is between fromDate and toDate
print(daysBetween)

如何修改我的 daysBetween(date: NSDate) 函数来防止这种情况发生?

编辑:请不要注意为什么它精确地打印 -334。那只是因为 fromDate 和 toDate 是一个月中的不同日期。想要解决的问题是为什么响应为负而不是应有的 31。

已解决:事实证明正如你们许多人所想的那样。 fromDate 大于 toDate 并导致负数。愚蠢的错误。谢谢大家!

最佳答案

您无需担心日子变得消极。最好知道第一个日期(例如从输入 UIDatePicker 中选择)是否比另一个大。当您转换回 NSDate 时会自动处理。如果问题是如何打印天数,可以使用abs(days)

关于ios - 跨越新年时获取两个 NSDate 之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37626767/

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