OC — (Foundation框架-NSDate)

时间:2023-05-08 20:02:01

NSDate:是OC中处理日期时间的一个类,可以用来表示时间

获取当前的时间

NSDate *d = [NSDate date]; 创建日期时间对象

NSLog输出是当前时间 格林时间

格式化显示时间

    NSDate *d1 = [NSDate date];
NSLog(@"%@", d1);
// 格式化日期,时间
// NSDateFormatter 日期格式化
/*
yyyy 表示四位的年份
MM 表示2位的月份
dd 表示2位的天数
HH 表示24小时制的小时 hh 12小时制
mm 表示2位的分钟数
ss 表示2位的秒数
*/
NSDateFormatter *fom = [NSDateFormatter new];
// 2015年09月12日
fom.dateFormat = @"yyyy年MM月dd日 HH:mm:ss";
NSString *dateStr = [fom stringFromDate:d1];
NSLog(@"%@",dateStr);

计算时间

    NSDateFormatter *fom = [NSDateFormatter new];
// 计算明天的此刻
// 24小时后的时间
// dateWithTimeIntervalSinceNow 是距现在的时间
fom.dateFormat = @"yyyy年MM月dd日 HH:mm:ss";
NSTimeInterval t = **;
NSDate *tom = [NSDate dateWithTimeIntervalSinceNow:t];
// 格式化时间
NSString *timeStr = [fom stringFromDate:tom];
NSLog(@"%@",timeStr);
// 计算昨天的时间 -t
// NSDate *tom = [NSDate dateWithTimeIntervalSinceNow:-t];

日期时间对象的使用

       // 日期对象
// 2015-09-12 10:20:30
NSDate *d = [NSDate date];
// 创建日期对象
NSCalendar *cal = [NSCalendar currentCalendar];
// cal components:获取日期的哪些部分 fromDate:日期对象
NSDateComponents *coms = [cal components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:d];
NSLog(@"%ld %ld %ld",coms.year, coms.month, coms.day);