Как получить дату из дня года? например, если я укажу день как «1», тогда дата должна быть «1 января»
Как я могу получить это в iPhone? Я нашел ответ в javascript, но я хочу знать, как сделать то же самое в цели?
Как получить дату из дня года? например, если я укажу день как «1», тогда дата должна быть «1 января»
Как я могу получить это в iPhone? Я нашел ответ в javascript, но я хочу знать, как сделать то же самое в цели?
Я думаю, этот код вам подойдет: я создал пример функции, в которой текстовое поле дает входные значения, сколько дней нужно добавить. И кнопка для расчета последнего дня. Вот логика события кнопки.
NSDateComponents *dateComponent = [[NSDateComponents alloc] init];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-mm-dd"];
NSDate *newDate = [formatter dateFromString:@"2012-01-01"];
// add days to current date
dateComponent.day = [dayTextField.text intValue];
// get a new date by adding components
newDate = [[NSCalendar currentCalendar] dateByAddingComponents: dateComponent toDate:newDate options:0];
[finalDate setText:[NSString stringWithFormat:@"%@", newDate]];
Здесь dayTextField.text — это текст, в котором указано, сколько дней нужно рассчитать. (Например, 125 дней), а finalDate — это метка, отображающая окончательную сгенерированную дату (означает дату через 125 дней после 1 января 2012 г.).
Преимущество этого кода в том, что в любое время вы можете изменить параметр дня начала. Например, для другого требования мне нужно считать свои дни с «31 мая 1999 года», тогда я легко изменю его в одной строке, и тот же код будет работать.
Наслаждайтесь кодированием :)
NSCalendar *gregorian =
[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger dayOfYear =
[gregorian ordinalityOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit forDate:[NSDate date]];
[gregorian release];
return dayOfYear;
Возьмите из сообщения: target-c">Как вы вычисляете день года для определенной даты в Objective-C?