Ios 如何从NSDate获取当前日期、时间、年份?

Ios 如何从NSDate获取当前日期、时间、年份?,ios,nsdatecomponents,Ios,Nsdatecomponents,情况是这样的 我有一个方法 + (NSDateComponents *)getTodayComponents { NSDate *today = [[NSDate alloc] init]; NSCalendar *calendar = [NSCalendar currentCalendar]; return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:today]; }

情况是这样的

我有一个方法

+ (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];

}
问题


如何从今天的
中获取年、日和月,以便在今天的组件中进行设置?

根据我对您的查询的理解,您希望实现的是通过选择器获取的其他日期的组件,然后修改这些组件,以在
UITextField中显示日期

因此,添加或修改现有方法

+ (NSDateComponents *)getTodayComponentsFromDate:(NSDate *)theDate {
    NSCalendar *calendar = [NSCalendar currentCalendar];
    return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:theDate];
}

或者,如果您只想以特定格式显示从日期选择器中选择的日期,那么我建议您使用
NSDateFormatter
来执行此操作。

查看文档中的
NSDateComponents
。各种组件都有明显的属性。您是指在选择器上选择的日期吗?-i、 e.参数
日期
?只需将它传递给helper函数,并使用它而不是新的日期对象。