如何从 NSDate 获取当前日期、时间、年份?
Posted
技术标签:
【中文标题】如何从 NSDate 获取当前日期、时间、年份?【英文标题】:How to get Current Date, Time, Year from NSDate? 【发布时间】:2015-01-15 05:34:54 【问题描述】:情况是这样的
我有一个方法
+ (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
获取年、日、月,以便在todayComponents中进行设置?
【问题讨论】:
查看NSDateComponents
的文档。各种组件都有明显的属性。
您是指在选择器上选择的日期吗? - 即参数date
?只需将它传递给您的辅助函数并使用它来代替新的日期对象。
【参考方案1】:
根据我对您的查询的理解,您想要实现的是您通过选择器获取的其他日期的组件,然后修改这些组件以在 UITextField
中显示日期。
所以添加或修改现有方法
+ (NSDateComponents *)getTodayComponentsFromDate:(NSDate *)theDate
NSCalendar *calendar = [NSCalendar currentCalendar];
return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:theDate];
或者,如果您只想以特定格式显示从日期选择器中选择的日期,那么我建议您使用 NSDateFormatter
来执行此操作。
【讨论】:
以上是关于如何从 NSDate 获取当前日期、时间、年份?的主要内容,如果未能解决你的问题,请参考以下文章