计算天数 - iOS/Swift
问题描述:
我试图为天做一个计数器,所以用户可以知道他/她在哪一天。计算天数 - iOS/Swift
我有开始和结束日期,我也开始之间的计数并终止 我要的是要告诉他时是什么日子用户(第1天,第2天,第3天.... )
let unit:NSCalendarUnit = [.Month, .Day]
let components = cal!.components(unit, fromDate: startDate, toDate: endDate, options: [])
var daysCount = components.day
print(daysCount)
有帮助吗?
答
希望这有助于:
let cal = NSCalendar.currentCalendar()
let currentDate = NSDate()
let startDate = currentDate.dateByAddingTimeInterval(-7 * 24 * 60 * 60) // 7 days ago
let endDate = startDate.dateByAddingTimeInterval(10 * 24 * 60 * 60) // 10 days after start date (3 days from now)
if endDate.compare(currentDate) == .OrderedDescending {
// end date is in the future
let components = cal.components(.Day, fromDate: startDate, toDate: currentDate, options: [])
let daysCount = components.day
print("\(daysCount) days passed.")
} else {
// end date is now or in the past
let components = cal.components(.Day, fromDate: startDate, toDate: endDate, options: [])
let daysCount = components.day
print("\(daysCount) days passed. you reached the end date.")
}
+0
谢谢André! – ynamao
+0
不客气 –
答
试试这个:
func daysFromDate(dateA: NSDate, toDate dateB: NSDate) -> Int {
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
calendar.timeZone = NSTimeZone.localTimeZone()
calendar.locale = NSLocale.currentLocale()
return calendar.components([.Day], fromDate: dateA, toDate: dateB, options: .MatchStrictly).day
}
如果你只想知道的天数,不计'.Month'。保留为'[.Day]'。另外,如果你不想让你的第一天成为'day0',你可能想为结果添加'1'。 – Sulthan
谢谢,但我想要告诉用户他是哪一天,例如(第1天...然后第二天---第2天......等) – ynamao
什么不适合你? – Sulthan