Foundaton框架-->NSDate
2016-10-22 本文已影响9人
爱貌貌Manners
NSDate基本概念
一、NSDate创建和基本概念
- 1.创建一个时间对象
- 2.获取当前时间做在的时区
- 3.获得当前所在时区的时差
- 4.调整时差
- 只要是通过date方法创建的时间对象, 对象中就保存了当前的时间
NSDate *now = [NSDate date];
NSLog(@"now = %@", now);
- 在now的基础上追加多少秒
NSDate *date = [now dateByAddingTimeInterval:10];
- 获取当前所处的时区
// 1.获取当前所处的时区
NSTimeZone *zone = [NSTimeZone systemTimeZone];
// 2.获取当前时区和指定时区的时间差
NSInteger seconds = [zone secondsFromGMTForDate:now];
// NSLog(@"seconds = %lu", seconds);
NSDate *newDate = [now dateByAddingTimeInterval:seconds];
NSLog(@"newDate = %@", newDate);
二、NSDate --> NSString
- 1.创建一个时间对象
- 2.创建一个时间格式化对象
- 3.告诉格式化对象,需要的时间样式
- 4.利用格式化对象,对时间格式化。返回字符串
- 时间格式
- yyyy 年
- MM 月
- dd 日
- HH 24小时 hh 12小时
- mm 分钟
- ss 秒钟
- Z 时区
- 时间格式化格式
NSDate *now = [NSDate date];
// 创建一个时间格式化对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒 Z";
formatter.dateFormat = @"MM-dd-yyyy HH-mm-ss";
// 利用时间格式化对象对时间进行格式化
NSString *res = [formatter stringFromDate:now];
NSDate *date = [formatter dateFromString:str];
三、NSString --> NSDate
- 1.创建一个时间字符串
- 2.创建一个可格式化的对象
- 3.告诉格式化对象,需要的时间样式「需要和字符串一致」
- 4.然后把字符串转为NSDate
// NSString --> NSDate
NSString *str = @"2015-06-29 07:05:26 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 注意: 如果是从NSString格式化为NSDate, 那么dateFormat的格式, 必须和字符串中的时间格式一致, 否则可能转换失败
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
NSDate *date = [formatter dateFromString:str];
NSLog(@"%@", date);