我在 osx 上使用 swift 3。 我有这个日历:
此日历应显示实际日期加上 14 天。 通常它是正确的,因为 30 - 16 = 14 天之间。
这是我的代码:
datePicker.dateValue = Calendar.current.date(byAdding: .day, value: 14, to: Date())!
但在我的日历底部应该可以看到从现在到所选日期之间的天数。但这里会显示 13 天。
为什么是 13 而不是 14?
这个文本标签会这样计算:
txtDiffDays.stringValue = "(\(Calendar.current.dateComponents([.day], from: Date(), to: datePicker.dateValue).day!) Tage)"
我的错误在哪里?
最佳答案
问题是您调用了两次 Date()
。
计算差异时,起始日期
必须与设置 datePicker 时使用的日期完全相同。否则稍晚,天数不足14天。
关于swift - 实际日期加上 14 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45716177/