iOS:NSDate的主要几种时间形式

时间:2025-02-15 19:06:14

NSDate:时间的获取和操作

1、获取当前时间

     //获取当前日期
NSDate *date = sender.date;
NSLog(@"%@",date);

2、将date转换为字符串并格式化

   //date转字符串
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
//YYYY:年 MM:月 dd:日 HH:24小时制 hh:12小时制
formatter.dateFormat = @"YYYY-MM-dd HH:mm:ss";
NSString *strdate = [formatter stringFromDate:date];
NSLog(@"%@",strdate);

3、将字符串转回date

     //字符串转date
NSDate *date2 = [formatter dateFromString:strdate];
NSLog(@"%@",date2);

4、将字符串日期分解为年、月、日

     //将日期分解为年月日
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger unitflags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
NSDateComponents *components = [calendar components:unitflags fromDate:date];
NSLog(@"year:%ld month:%ld day:%ld",[components year],[components month],[components day]);

5、将年、月、日合并为日期字符串

     //将年月日组合成日期
[components setYear:];
[components setMonth:];
[components setDay:];
NSDate *date3 = [calendar dateFromComponents:components];
NSLog(@"%@",date3);