最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Swift计算当月、任意月一共有多少天例子
时间:2022-06-25 23:37:45 编辑:袖梨 来源:一聚教程网
1,获取当前月天数
//计算当月天数
func getDaysInCurrentMonth() -> Int {
let calendar = NSCalendar.currentCalendar()
let date = NSDate()
let nowComps = calendar.components([.Year, .Month, .Day], fromDate: date)
let year = nowComps.year
let month = nowComps.month
let startComps = NSDateComponents()
startComps.day = 1
startComps.month = month
startComps.year = year
let endComps = NSDateComponents()
endComps.day = 1
endComps.month = month == 12 ? 1 : month + 1
endComps.year = month == 12 ? year + 1 : year
let startDate = calendar.dateFromComponents(startComps)!
let endDate = calendar.dateFromComponents(endComps)!
let diff = calendar.components(.Day, fromDate: startDate, toDate: endDate,
options: .MatchFirst)
return diff.day
}
测试代码:
let days = getDaysInCurrentMonth()
print("本月有(days)天")
2,获取指定年月的天数
//计算指定月天数
func getDaysInMonth( year: Int, month: Int) -> Int
{
let calendar = NSCalendar.currentCalendar()
let startComps = NSDateComponents()
startComps.day = 1
startComps.month = month
startComps.year = year
let endComps = NSDateComponents()
endComps.day = 1
endComps.month = month == 12 ? 1 : month + 1
endComps.year = month == 12 ? year + 1 : year
let startDate = calendar.dateFromComponents(startComps)!
let endDate = calendar.dateFromComponents(endComps)!
let diff = calendar.components(.Day, fromDate: startDate, toDate: endDate,
options: .MatchFirst)
return diff.day
}
测试代码:
let days = getDaysInMonth(2016, month: 2)
print("2016年2月有(days)天")
相关文章
- 虾米音乐如何恢复删除的歌单 05-27
- 恐龙神奇宝贝手游恐龙养成攻略 恐龙神奇宝贝手游新手恐龙培养与进阶技巧 05-27
- 全能扫描王使用操作相关问题详情 05-27
- 雷霆大战手游T0船长推荐 雷霆大战手游最强船长阵容与培养指南 05-27
- 铸兵之王开荒指南 铸兵之王新手入门全流程攻略 05-27
- 《快手》号修改方法 05-27