您所在的位置:小祥子 » 编程 » IOS » 正文

IOS阶段学习第15天笔记(OC NSDate的操作)

时间:2015-07-05 编辑:湖南金刚 来源:Cnblogs
 NSDate *newdate=[NSDate date];
 //时间格式化字符串
 NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss MMM eee a"];
 NSString *strdate = [formatter stringFromDate:newdate];
 NSLog(@"%@",strdate);
 
 //时间字符串转换为时间类型
 NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];
 NSString * nstr =@"2014年05月01日 10点23分18秒";
 [formatter2 setDateFormat:@"yyyy年MM月dd日  hh点mm分ss秒"];
 NSDate * date3 = [formatter2 dateFromString:nstr];
 //解决时分秒转换不准确问题
 NSTimeZone *fzone = [NSTimeZone systemTimeZone];
 NSInteger finterval = [fzone secondsFromGMTForDate: date3];
 NSDate *fDate = [date3  dateByAddingTimeInterval: finterval];
 NSLog(@"%@",fDate);
 
 //获取系统时间的年月日时分秒部分
 NSCalendar *cal = [NSCalendar currentCalendar];
 //Mac 10.10以前的系统使用 NSYearCalendarUnit
 unsigned int unitFlags = NSCalendarUnitYear |NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;
 NSDateComponents *d = [cal components:unitFlags fromDate:newdate];
 NSLog(@"年=%ld",[d year]);
 NSLog(@"月=%ld",[d month]);
 NSLog(@"日=%ld",[d day]);
 NSLog(@"时=%ld",[d hour]);
 NSLog(@"分=%ld",[d minute]);
 NSLog(@"秒=%ld",[d second]);
 
 //将传入时间字符串转换成需要的时间格式
 NSString *dateStr=@"2013-08-13 20:28:40";
 NSDateFormatter *format=[[NSDateFormatter alloc] init];
 [format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
 NSDate *fromdate=[format dateFromString:dateStr];
 //解决时分秒转换不准确问题
 NSTimeZone *fromzone = [NSTimeZone systemTimeZone];
 NSInteger frominterval = [fromzone secondsFromGMTForDate: fromdate];
 NSDate *fromDate = [fromdate  dateByAddingTimeInterval: frominterval];
 NSLog(@"fromdate=%@",fromDate);
关键词:IOS 学习 笔记 操作