美文网首页 移动 前端 Python Android Java
OC之日期与时间类续:日历NSCalendar类

OC之日期与时间类续:日历NSCalendar类

作者: 我開始方了 | 来源:发表于2016-06-19 22:57 被阅读197次

Foundation 框架之 日期与时间

----------日历 (NSCalendar) 与日期组件 (NSDateComponents)----------
前面 介绍了NSDate的功能和用法,以及NSDate 与NSString 之间的相互转换,假设有如下场景:程序提
供了3哥输入框,用于分别输入年、月、日的数值,接下来需要将年、月、日数值转换为NSDate;另一个场景:得到一个NSDate 对象后,程序需要获取该NSDate 中包含的年份、月份、第几日。这些都需要将NSDate的各个字段数值分开提取。为了能分开处理NSDate 对象所包含的各个字段的数据,Foundation 框架提供了NSCalendar 对象。
//获取代表公历的日历对象calendar
NSCalendar * calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
//获取日期时间对象
NSDate * date =[NSDate date];

//定义一个时间字段的旗标,指定会获取的年、月、日、时、分、秒、工作日的信息
unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday;
//获取不同时间字段信息
NSDateComponents * comp = [calendar components:unitFlags fromDate:date];
//打印所有时间字段信息
NSLog(@"现在是%ld年%ld月%ld日%ld时%ld分%ld秒星期%ld",comp.year,comp.month,comp.day,comp.hour,comp.minute,comp.second,comp.weekday);
//现在是2016年6月19日22时50分41秒星期1(为什么比实际多一天,笔者也不知道,有知道的朋友留言说一下,谢谢)

//创建一个NSDateComponents对象
NSDateComponents * comp2 = [[NSDateComponents alloc]init];

//给comp2中的字段赋值
comp2.year = 2016;
comp2.month = 6 ;
comp2.day = 18;
comp2.hour = 22;
comp2.minute = 31;
comp2.second = 34;

NSLog(@"%@",[calendar dateFromComponents:comp2]);
//016-06-18 14:31:34 +0000

喜欢的话,帮忙点一下喜欢,谢谢!
如果有错误之处或者偏差,还请斧正!
欢迎大家留言提问,技术要交流才能更快成长!

相关文章

  • OC之日期与时间类续:日历NSCalendar类

    Foundation 框架之 日期与时间 ----------日历 (NSCalendar) 与日期组件 (NSD...

  • 时间与日期

    在iOS原生类中用以处理时间与日期的类:NSCalendar 日历处理NSDateComponents 将日期进...

  • 如果想做一个日历(iOS)

    写一个日历首先你要用到 NSCalendar类,这是一个用来处理日历相关的类,这个类中官方提供了很多计算日期的方法...

  • NSCalendar(日历类)

    @interface NSCalendar : NSObject

  • iOS 日期相关

    NSCalendar :日历类,它提供了大部分的日期计算接口,并且允许您在 NSDate 和 NSDateComp...

  • 时间与日期

    Foundation框架提供了几个日期和时间相关的类型:NSDate类、Date结构体、NSCalendar类、C...

  • iOS 日历类(NSCalendar)

    对于时间的操作在开发中很常见,但有时候我们需要获取到一年后的时间,或者一周后的时间.靠通过秒数计算是不行的.那就牵...

  • iOS日期相关的NSDate,NSCalendar,NSDate

    NSDate对象封装单个时间点,与之相关的几个类分别是: NSCalendar, NSDateComponents...

  • iOS 日历 NSCalendar

    NSCalendar 是 iOS 获取日历数据的工具类。 获取指定月份的天数: 获取指定日期的是周几,在 NSCa...

  • Swift与OC比较之NSDateComponents

    用NSDateComponents计算时间差 先来看OC //获取日历对象NSCalendar *cal = [N...

网友评论

    本文标题:OC之日期与时间类续:日历NSCalendar类

    本文链接:https://www.haomeiwen.com/subject/lnnbdttx.html