日历debug输出
2019-08-20 本文已影响0人
小锦子_liu
由于在工作中遇到了关于日期的输出,更是由于闲来无事,想一窥日历的究竟,之前也仿照一位大神输出了日历。但是总感觉大神的就是大神的不是自己的,所以就看了NSDateFormatter,NSDate,NSCalendar和NSDateComponents这四个类,但是两个星期下来感觉收获甚微,一方面是因为英文水平有限,另一方面是因为自己oc的代码逻辑还有待提高。
好吧,接下来谈一下自己的感受!
NSDateFormatter这个类的对象主要是用在NSDate和NSString的转换,你看它的英文(dateformatter 日期格式)就能一窥究竟。
NSDate就是我们所说的日期,比如今天哪一年,几月几号,星期几,几时几分几秒,当然还有其他的(比如时区),但是它的主要目的是为了向我们展示时间 ,我们一般利用它作为一个整体出现(为什么说是作为整体呢,接下来再说)。
NSCalendar就像我们开发是的controller一样,控制着所有(为什么说它控制着所有呢,接下来再说)。
NSDateComponents,这是一个很重要的类,如果说NSDate是作为一个整体出现的,那么NSDateComponents就可以向你单独或者联合展示NSDate的所有面。当然离不开NSCalendar的操作,NSDateComponents所有的对象都要经过NSCalendar加工才能成型(可以看)。
接下来贴一下输出的代码。
开始调试

创建逻辑

分步解析

还有输出


相信看到这里大家就相信NSCalendar的强大了,它真的是控制着所有,除了NSDateFormatter可以搞定的。