2015-01-15 1 views
-4

Вот ситуацияКак получить текущую дату, время, год из NSDate?

У меня есть метод, как

+ (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?

+0

Посмотрите на документы для 'NSDateComponents'. Существуют очевидные свойства для различных компонентов. – rmaddy

+0

Вы имеете в виду дату, выбранную на выборщике? - то есть параметр 'date'? Просто передайте его в свою вспомогательную функцию и используйте вместо нового объекта даты. – Paulw11

ответ

1

Из того, что я понимаю с вашим запросом, вы хотите получить компоненты другой даты, которую вы получаете через сборщик, а затем модифицируете эти компоненты, чтобы показать дату в UITextField.

Так добавить или изменить существующий метод

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

Или, если вы просто хотите отобразить дату выбрали из выбора даты в определенном формате, поэтому я хотел бы предложить вам использовать NSDateFormatter, чтобы сделать это.