情况如下
我有一个方法
+ (NSDateComponents *)getTodayComponents {
NSDate *today = [[NSDate alloc] init];
NSCalendar *calendar = [NSCalendar currentCalendar];
return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:today];
}
通过它我可以获得今天的日,月,年,小时,分钟
现在我需要更改来自另一个NSDate
的日,月和年,所以我的代码看起来像
- (void)datePickerView:(RSDFDatePickerView *)view didSelectDate:(NSDate *)date {
NSDate *today = [[NSDate alloc] init];
NSDateComponents *todayComponents = [Helper getTodayComponents];
self.transactionDate = date;
NSLog(@"%@", [date description]);
self.inputDateField.text = [[Helper getDateFormatterForClient] stringFromDate:self.transactionDate];
[self.inputDateField resignFirstResponder];
}
问题
如何从today
获取年,日,月,以便我可以在今天的组件中设置?
答案 0 :(得分:1)
根据我对您的查询的理解,您希望实现的是您通过选择器获取的其他日期的组件,然后修改这些组件以在UITextField
中显示日期。
添加或修改现有方法
+ (NSDateComponents *)getTodayComponentsFromDate:(NSDate *)theDate {
NSCalendar *calendar = [NSCalendar currentCalendar];
return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:theDate];
}
或者,如果您只想以特定格式显示从日期选择器中选择的日期,那么我建议您使用NSDateFormatter
来执行此操作。