Конвертация формата даты iOS
У меня есть следующая подпрограмма, которая возвращает строку даты и времени и вызывается из другой подпрограммы. Эта часть отлично работает.
- (NSDate * )startDateOfToday
{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:[NSDate date]];
return [calendar dateFromComponents:components];
}
Однако, хотя в вызывающем коде, для которого требуется указанная строка даты, мне нужно сгенерировать другое представление даты, которое я могу передать метке, подобной этой:-
self.dayLabel.text = [?????????];
И хотите, чтобы дата отображалась как "Суббота, 7 декабря" или любая другая дата, которую код возвращает.
Как я понимаю, мне нужно использовать NSDateFormatter
преобразовать строку даты, предоставленную startDateOfToday
на новое значение "сб, 7 декабря".
Я ценю многочисленные посты, связанные с DateFormat, но я пытаюсь понять, как это сделать.
Может ли кто-нибудь помочь мне с:- а) кодом для преобразования; б) кодом, который нужно заменить на dayLabel, как и всякий раз, когда я пытаюсь что-то сделать, он часто показывает ошибку преобразования и т. д.
Спасибо.
1 ответ
Попробуй это:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];
[dateFormatter setDateFormat:@"EEE, MMM d"];
self.dayLabel.text = [dateFormatter stringFromDate:yourDate];
// or self.dayLabel.text = [dateFormatter stringFromDate:[self startDateOfToday]];