Я пытаюсь использовать NSDateFormatter со следующим кодом.Это код внутри моего DetailViewController.m.Я использую Xcode 4.2 с раскадровками и базовыми данными.Я искал другие темы здесь для NSDateFormatter, и кажется, что я делаю это правильно, но результаты возвращают ноль.
- (void)configureView
{
// Update the user interface for the detail item.
if (self.detailItem) {
// Format Date to MMM D, YYYY H:MM:SS AM/PM
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
NSString *sessDate = [[self.detailItem sessionDate] description];
NSDate *date = [dateFormatter dateFromString:sessDate];
NSString *formattedDate = [dateFormatter stringFromDate:date];
self.sessionDate.text = formattedDate;
NSLog(@"sessDate = %@",sessDate);
NSLog(@"date = %@",date);
NSLog(@"formattedDate = %@",formattedDate);
}
}
NSLog результаты:
2012-02-10 17:18:17.781 ClickIt[332:10103] sessDate = 2012-02-09 17:11:33 +0000
2012-02-10 17:18:17.782 ClickIt[332:10103] date = (null)
2012-02-10 17:18:17.782 ClickIt[332:10103] formattedDate = (null)
У меня естьраньше использовал NSDateFormatter, и он работал нормально, но я озадачен тем, почему переменная даты возвращает нуль.Есть мысли, что я делаю не так?
Спасибо!
скорректированный код
// Format Date to MMM D, YYYY H:MM:SS AM/PM
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSString *sessDate = [[self.detailItem sessionDate] description];
NSDate *date = [dateFormatter dateFromString:sessDate];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
NSString *formattedDate = [dateFormatter stringFromDate:date];
self.sessionDate.text = formattedDate;