0
A
回答
7
這裏是一個同時適用於幾個月甚至幾年的方法:
let calendar = NSCalendar.currentCalendar()
let date = NSDate()
// Calculate start and end of the current year (or month with `.Month`):
var startOfInterval : NSDate?
var lengthOfInterval = NSTimeInterval()
calendar.rangeOfUnit(.Year, startDate: &startOfInterval, interval: &lengthOfInterval, forDate: date)
let endOfInterval = startOfInterval!.dateByAddingTimeInterval(lengthOfInterval)
// Compute difference in days:
let days = calendar.components(.Day, fromDate: startOfInterval!, toDate: endOfInterval, options: [])
print(days)
(您可能需要添加一些錯誤檢查,而不是強行展開 自選)
更新Swift 3:
let calendar = Calendar.current
let date = Date()
// Calculate start and end of the current year (or month with `.month`):
let interval = calendar.dateInterval(of: .year, for: date)!
// Compute difference in days:
let days = calendar.dateComponents([.day], from: interval.start, to: interval.end).day!
print(days)
+1
是的,這適用於月份和年份(只需通過更改rangeOfUnit中的.Year字段)。謝謝。 – Kobe
3
let date = NSDate()
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let days = cal.rangeOfUnit(.Day, inUnit: .Month, forDate: date)
print("\(days) in the month of \(date)")
+1
謝謝邁克爾。這很好。我如何計算一年中的天數?我嘗試了相同的代碼,但使用.Year代替.Unonit字段中的.Month,但似乎不起作用。 – Kobe
相關問題
- 1. 獲取當前月份和當前年份的天數
- 2. 計算當前年份和當前月份的星期日數量?
- 3. Javascript:計算給定年份的月份天數
- 4. 計算不是年份值的月份和天數
- 5. Python:如何計算btw當前年份和年份的差異?
- 6. 在30天內獲取行,當年是當前年份,月份是當前月份,日期是字符串
- 7. 計算月份和年份的日期
- 8. Javascript日期()根據當天,月份,年份計算年齡工作
- 9. 我必須從輸入的月份/年份打印月份和年份到當前的月份和年份
- 10. 如何計算當前年份的新年數的總和
- 11. 年數,月份和天數
- 12. 如何計算特定月份和特定年份中MSSQL的天數
- 13. nHibernate按年份和月份計算
- 14. 顯示年份從當年開始到當月前一個月的月份
- 15. T-SQL:從月份列中合併當前年份和月份
- 16. TSQL計算月份的月份數
- 17. MySql的計數表,該表是當前的月份和當年
- 18. 計算年份從當前NSDate
- 19. 行當前月份和當年剩餘月份
- 20. 如何根據月份和年份來計算字段的值?
- 21. 如何計算給定的月份和年份
- 22. excel如何顯示當前的月份和年份與空間
- 23. 如何獲得當前的月份和年份
- 24. 集團月份又一年,月天/年
- 25. 如何在mysql當前月的當前年份中統計總數
- 26. 從python的年份月份獲取月份的最後一天
- 27. 如何獲取月份和年份的天數
- 28. 如何在JAVA中從MySQL獲取當前年份和月份?
- 29. 如何根據當前月份和年份創建mysql表名
- 30. 如何獲得當前日期,月份,年份在斯卡拉
但是我需要當前的月份/年份,而不是給定的月份,實際上我不知道一年中的天數是如何計算的。 – Kobe
我的確希望人們能夠證明我的失敗是正確的,所以我可以從我的錯誤中學習,但從我的角度來看,這是一個很好的問題,我無法在stackoverflow上找到答案。 – Kobe
因爲我認爲鏈接回答在兩個月前和幾年前都有效,所以我關閉了一個副本。然後我意識到情況並非如此,因此我重新提出了這個問題。對困惑感到抱歉。 –