今天我们学了 NSDate 方法 通过NSDate方法创建的对象 永远是 零时区的时间创建日期对象
当前时间创建NSDate
NSDate *myDate = [NSDate date];
获区两个日期的的时间间隔 时间间隔是以秒为单位
NSTimeInterval 是相当于 double
NSTimeInterval TimeInterval = [tomorrow timeIntervalSinceDate:yesterday];
NSLog(@"%f",TimeInterval/60/60/24);//原理是前面的时间 - 后面的时间 也可能出现负数
两个日期的比较 结果是枚举类型 升序 -1 相等 0 降序 1NSComparisonResult compare =[tomorrow compare:yesterday];
(类型1)类型2 强制类型转换可以将类型2转换为 类型1;
日期和字符串之间可以相互转换如:将日期格式串转化为 NSDate对像
NSString *s = [NSString stringWithFormat:@"2014年05月01日 10点23分18秒"];
创建日期格式串对象对象
NSDateFormatter *form =[[NSDateFormatter alloc]init];
设置日期格式(一定要和字符串中的日期格式保持一致)
form setDateFormat:@"yyyy年MM月dd日 HH点mm分ss秒"];
NSDate *day = [form dateFromString:s];
HH表示24小时制 hh表示12小时制
MM表示月份 mm表示分钟
dd 表示当月天数 DD表示处于本年第几天
ss表示秒数
如果年份为两个y 只显示年份的后两位 若果给其他个数的y 都显示完整年份
如果MM 给两位 月份为一位时补0
我们又学了 分类(category),可以拓展类的方法 但不能添加实例变量,为原有的类扩充方法 就会成为原类的一部分. 分类也分为 .h接口部分 以及.m实现部分. .h文件写方法的声明 .m写方法的实现
//分类定义格式 以@interface开始+扩展类名(分类名)以@end结束
例如 @interface NSString (Sort)(中间定义方法)
@end
实现写在 .m 中 通过category可以方便的为系统添加方法 实现我们想要的但系统没有提供的操作