【问题标题】:How to get Current Date, Time, Year from NSDate?如何从 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?只需将它传递给您的辅助函数并使用它来代替新的日期对象。

标签: ios nsdatecomponents


【解决方案1】:

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

所以添加或修改现有方法

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

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

【讨论】:

    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多