如何以整数格式获取NSDate日、月、年?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

我想以NSDate整数形式获取日,月和年组件,即如果日期是1/2/1988,那么我应该将1,2和1988分别作为整数。我如何在iOS中执行此操作?我发现了类似的问题,但方法descriptionWithCalendarFormat:给出了一个警告,似乎现在已被废弃。

提问于
用户回答回答于

给你。

NSDate *currentDate = [NSDate date];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate]; // Get necessary date components

 [components month]; //gives you month
 [components day]; //gives you day
 [components year]; // gives you year

你可以像上面那样使用NSDateComponents。

用户回答回答于

是的,通过使用NSCalendar

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]];
NSInteger day = [components day];    
NSInteger month = [components month];
NSInteger year = [components year];

扫码关注云+社区