2013-12-07 11 views
1

У меня есть следующая процедура, которая вернет дату & строку времени и вызывается из другой процедуры. Эта часть работает нормально.Преобразование формата даты 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, но я стараюсь понять, как это сделать.

Может ли кто-нибудь мне помочь: - a) код для конвертации b) код, который нужно заменить вместо ???? в 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]]; 
+0

Спасибо за это! Прекрасно работает. – MrNeilM

+0

приветствуется, и попробуйте голосование :-D – thorb65

+0

Я хотел бы дать вам предварительный голос, однако, поскольку я новичок здесь, я не могу, так как мне нужен представитель 15 и у меня есть только 10 прямо сейчас ! Будешь делать, как только смогу. – MrNeilM

Смежные вопросы