swift计算器|Swift计算当月、任意月一共有多少天例子

时间:2020-10-03  来源:.Net开发  阅读:

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)天")

swift计算器|Swift计算当月、任意月一共有多少天例子

http://m.bbyears.com/asp/102522.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新