一.获取当前时间

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];

转载于:https://www.cnblogs.com/kaihuacheng/p/5634022.html

OC系列foundation Kit基础-NSDate相关推荐

  1. OC系列foundation Kit基础-NSString

    一.NSString常见创建 1.声明一个常量字符串 1 NSString *str = @"abc"; 2.通过构造方法创建字符串 1 NSString *str1 = [[NS ...

  2. iOS动画系列之五:基础动画之缩放篇旋转篇Swift+OC

    这一篇主要介绍基础动画之缩放和旋转.这些基本操作分享完之后,我想想可以找个稍微复杂一点点的动画做做啦. 这篇继续基础篇,分享一下缩放和旋转.因为整体思路和平移基本上没有变化,加上源代码里面也有OC版本 ...

  3. ObjC: Foundation Kit

    Foundation Kit是什么? 你可以把它看作Java JDK中的java.lang包.不论是JavaME.JavaEE还是Android,各种变种Java环境,都拥有的基础类库,或者拥有它的一 ...

  4. TTL电平,CMOS电平,OC门,OD门基础知识

    转载: TTL电平,CMOS电平,OC门,OD门基础知识 TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用 ...

  5. Webpack系列-第一篇基础杂记

    系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...

  6. swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程

    swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3  注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在 ...

  7. Swift版iOS游戏框架Sprite Kit基础教程下册

    Swift版iOS游戏框架Sprite Kit基础教程下册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C  介绍:本教程是国内唯一的Swift版的Spritekit教程 ...

  8. iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序

    iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序 程序是为了实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.本章将以编写第一个Sprite Kit程序为 ...

  9. iOS游戏框架Sprite Kit基础教程——Swift版上册

    iOS游戏框架Sprite Kit基础教程--Swift版上册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C  介绍:本教程是国内唯一的Swift版的Spritekit ...

最新文章

  1. java单链表逆序输出_在数据结构单链表中如何实现倒序输出
  2. boost::geometry:::detail::overlay::get_clusters用法的测试程序
  3. Protobuf学习笔记
  4. jinja2 中的 Template 批量替换json字符串中的内容
  5. mysql可以装到其他端口吗_linux下怎么在另一个端口安装高版本mysql
  6. EMNLP2020文档级关系抽取模型GLRE 论文Global-to-Local Neural Networks for Document-Level Relation Extraction
  7. Ubuntu 14.04 执行指定用户的命令
  8. pl sql入门比较好的书_【赵强老师】什么是PL/SQL?
  9. eclipse汉化版与背景更换更换jdk及项目jre以及环境变量的配置
  10. SystemTap笔记03 stap的event和handler
  11. Socket长连接和短连接的区别
  12. 沙盒沙箱技术,移动沙盒等
  13. 王小波:资本主义居然用代码行发工资,真虚伪!
  14. ios 高德获取定位_更新日志-iOS 定位SDK | 高德地图API
  15. 新款苹果iPad真香,谁用谁知道啊,来个尝尝?
  16. 清华大学交叉信息研究院弋力老师课题组招收科研实习生
  17. 独立思考Justic:Free to Choose and Who owns me
  18. 几何光学学习笔记(10)- 3.4 理想光学系统的放大率
  19. Matlab含新能源(风电光伏)和多类型电动汽车配电网风险评估
  20. 计算机怎样禁用中等加密算法,教你win10系统BitLocker加密功能禁用硬件加密

热门文章

  1. usaco frame up(所有拓扑排序的输出)
  2. xdoj 1144 K叉哈弗曼树
  3. mysql 写入400_MySQL5.7运行CPU达百分之400处理方案
  4. python减少内存_如何降低 Python 的内存消耗量?
  5. kafka集群为什么需要三个节点_每天处理千亿级日志量,Kafka是如何做到的?
  6. 开发工业上位机 用pyqt5_用Pyqt5开发的基于MTCNN、FaceNet人脸考勤系统
  7. 同济计算机转专业吗,被不喜欢的专业录取了?大学想转专业需谨慎
  8. mysql存储过程参数可选,如何在T-SQL存储过程中使用可选参数?
  9. oracle oud什么意思,oracle 在linux上,如何使用oud工具恢復truncate 表中的记录? 超急!请帮帮忙...
  10. data的值 如何初始化vue_vue data恢复初始化数据的实现方法