- . NSDate是1个类.
- 作用:用来表示日期.
. 得到当前系统的时间.
创建1个NSDate对象,这个对象所表示的时间就是当前系统的格林威治时间.
就是当前系统的零时区的时间. 东八区. 在北京时间的基础之上减去8个小时.
NSDate *date = [NSDate date];
NSLog(@"%@",date);
. NSDate对象输出的时间格式:
- 2015-09-28 08:26:41 +0000
- 年 月 日 时 分 秒 时区
将日期转换为指定的格式.
- NSDate *date = [NSDate date];
- . 先创建1个日期格式化器. 作用:将日期转换为指定的格式.
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
- .为日期格式化器指定要转换的格式.
- //yyyy 代表年份.
- //MM 月份
- //dd 天
- //hh: 12小时制
- //HH: 24小时制
- //mm: 分钟
- //ss: 秒
formatter.dateFormat = @"yyyy年MM月dd号 HH点mm分ss秒";
- .让日期格式化器按照格式转换日期.
- 注意:转换的时候会转换为系统的时区的时间.
NSString *str = [formatter stringFromDate:date];
NSLog(@"%@",str);
- 将字符串转换为日期对象
//将字符串转换为日期对象.
/*
NSString *str1 = @"2010-12-12 17:17:45";
NSDateFormatter *formatter = [NSDateFormatter new];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *date1 = [formatter dateFromString:str1];
NSLog(@"%@",date1);
*/
. 取到NSDate对象的各个部分. 年 月 日…..
. 使用日期格式化器.
. 使用日历对象取到日期对象的各个部分.
- . 先创建1个日历对象.
/* 利用日历对象 取出日期对象的各个部分
NSDate *date = [NSDate date];
//1. 创建1个当前的日历对象.
// 作用: 可以取到1个日期对象的各个部分.
NSCalendar *calendar = [NSCalendar currentCalendar];
//2. 指定日历对象,要去取日期对象的那些部分.
NSDateComponents *com = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday fromDate:date];
//3. 通过NSDateComponents取到指定的日期的各个部分.
NSLog(@"%lu",com.year);
NSLog(@"%lu",com.month);
NSLog(@"%lu",com.day);
NSLog(@"%lu",com.weekday);
*/
日期的计算.
- . 计算从现在的时间开始 往前或者往后指定N秒以后是神马时间.
+ (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
- 正数就是往后计算
- 负数就是往前计算.
. 计算两个时间之间的差.
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate;