swift 对于NSDate日期获取年月日及其他操作

这篇博客介绍了在Swift中对NSDate的扩展,包括获取当前日期的年、月、日,判断是否为今天,获取月份的第一天是星期几等方法。提供了完整的代码示例。
摘要由CSDN通过智能技术生成

NSDate的扩展 如果只需要其中一个方法 可自行提取

extension NSDate {

    /**

     获取这个月有多少天

     */

    func getMonthHowManyDay() ->Int {

        //我们大致可以理解为:某个时间点所在的小单元,在大单元中的数量

        returnNSCalendar.currentCalendar().rangeOfUnit(.Day, inUnit:.Month, forDate:self).length

    }

    

    // 获取日期是星期几

    func getDateWeekDay() ->Int {

        let dateFmt         =NSDateFormatter()

        dateFmt.dateFormat  ="yyyy-MM-dd HH:mm:ss"

        let interval        =Int(self.timeIntervalSince1970)

        let days            =Int(interval/86400)

        let weekday         = ((days +4)%7+7)%7

        return weekday

    }

    

    /**

     *  获取这个月第一天是星期几

     */

    func getMontFirstWeekDay() ->Int {

        //1.Sun. 2.Mon. 3.Thes. 4.Wed. 5.Thur. 6.Fri. 7.Sat.

        let calendar =NSCalendar.currentCalendar()

        //这里注意 swift要用[,]这样方式写

        let com = calendar.components([.Year,.Month,.Day], fromDate:self)

        //设置成第一天

        com.day =1

        let date = calendar.dateFromComponents(com)

        //我们大致可以理解为:某个时间点所在的小单元,在大单元中的位置  ordinalityOfUnit

        let firstWeekDay = calendar.ordinalityOfUnit(.Weekday, inUnit: .WeekOfMonth, forDate: date!)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值