zoukankan      html  css  js  c++  java
  • OC系列foundation Kit基础-NSDate

    一.获取当前时间

    1.1创建一个日期对象

            NSDate *date = [NSDate date];
            NSLog(@"%@",date);
    

      输出结果:

    2016-07-01 17:31:02.410 OCString[907:402963] 2016-07-01 09:31:02 +0000    //因为时区不一样,需要格式化为本地时间
    Program ended with exit code: 0
    

    1.2将时间格式化为本地时间

            //日前格式化
            NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
            //设置日期格式化对象的两个属性
            formatter.dateStyle = NSDateFormatterShortStyle;
            formatter.timeStyle = NSDateFormatterShortStyle;
            NSString *result = [formatter stringFromDate:date];
            NSLog(@"%@",result);
    

      输出结果:

    2016-07-01 17:36:20.719 OCString[917:424185] 16/7/1 17:36
    Program ended with exit code: 0
    

    二.获取当月一共有多少天

     2.1创建一个日期对象

    NSDate *date = [NSDate date];
    

    2.2获取系统提供的日历对象

            //获取系统提供的日历对象
            NSCalendar *calender = [NSCalendar currentCalendar];
    

    2.3获取当月第一天和最后一天

            NSRange range = [calender rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];
            NSLog(@"%@",NSStringFromRange(range));
    

      输出结果:

    2016-07-01 17:46:21.526 OCString[947:466115] {1, 31}
    Program ended with exit code: 0
    

    三.获取当年一共有多少天

    同上二中的方法

    四.获取当月第一天和最后一天是星期几

     4.1获取当月第一天是星期几

    NSDate *date = [NSDate date];

     4.2获取系统提供的日历对象

      NSCalendar *calender = [NSCalendar currentCalendar]; 

     4.3获取当月第一天和最后一天

    NSRange range = [calender rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];
    

     4.4获取当天时间的日期值

    NSDateComponents *todayComp = [calender components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
    

     4.5计算第一天的日期   

            NSDateComponents *startComp = [todayComp copy];
            startComp.day = range.location; 

     4.6计算最后一天的日期    

            NSDateComponents *endComp = [todayComp copy];
            endComp.day = range.length;

      4.7日期转为时间对象

            NSDate *startDate = [calender dateFromComponents:startComp];
            NSDate *endDate = [calender dateFromComponents:endComp];

       4.8计算星期几

            NSInteger start_week = [calender ordinalityOfUnit:NSCalendarUnitWeekday inUnit:NSCalendarUnitWeekOfYear forDate:startDate];
            NSInteger end_week = [calender ordinalityOfUnit:NSCalendarUnitWeekday inUnit:NSCalendarUnitWeekOfYear forDate:endDate];
    未来的你会感谢今天努力的自己 ------Alen
  • 相关阅读:
    阿里云云效技术专家分享:云原生开发、调测及可靠发布解决方案
    对话李飞飞,揭秘国际体育赛事风“云”背后的黑科技
    时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案
    当Java遇上机密计算,又一段奇幻之旅开始了!
    内核热补丁,真的安全么?
    在 Dubbo3.0 上服务治理的实践
    CCF-201509-3-生成模板系统
    WPF CommandParameter的使用
    UWP App Data存储和获取
    在WPF中的ItemsControl中使用事件和命令(Using events and Commands within ItemsControl in WPF)
  • 原文地址:https://www.cnblogs.com/kaihuacheng/p/5634022.html
Copyright © 2011-2022 走看看