作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获取我得到的两个日期之间的天数,但如果我输入例如: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/
我是一名新手程序员,正在尝试制作日历(作业的一部分)。我已经完成了其他所有内容,但陷入了寻找新年索引(从 0 - 6)的部分,该索引每年向右移动一位,除了闰年之后的那一年移动两位。对于这个特定部分,我
Powershell Get-Date说明: -Day Specifies the day of the month that is displayed. Enter a value from 1 t
我是一名优秀的程序员,十分优秀!