1
我想格式化從RSS提要拉的博客文章的日期以顯示在表單元格中。我將字符串「dateString」設置爲等於從XML解析器接收到的日期並記錄結果。然後,我將日期轉換爲新格式,將其記錄到控制檯,然後收到「空」。這反過來給我一個0的時間間隔,並在我的手機顯示「秒前」。我認爲我的日期格式可能存在錯誤,但我查了很多來源。錯誤格式化時間objective-c
NSString *dateString = nil;
dateString = [datearray objectAtIndex:indexPath.row];
NSLog(@"Date Posted: %@", dateString);//Log date posted
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
NSDate *date = [dateFormat dateFromString:dateString];
NSLog(@"New Date: %@", date);//Log date posted
NSTimeInterval timeInterval = [date timeIntervalSinceNow];
NSLog(@"Time interval %f", timeInterval);
NSString *newTime = [timeIntervalFormatter stringForTimeInterval:timeInterval];
NSLog(@"New Time %@", newTime);
cell.dateLabel.text = [NSString stringWithFormat:@"%@", newTime];
控制檯登錄:
2014-06-13 15:43:41.555 Cazenovia High School[13489:60b] Date Posted: Thu, 22 Aug 2013 13:33:44 +0000
2014-06-13 15:43:41.556 Cazenovia High School[13489:60b] New Date: (null)
2014-06-13 15:43:41.557 Cazenovia High School[13489:60b] Time interval 0.000000
2014-06-13 15:43:41.558 Cazenovia High School[13489:60b] New Time seconds ago
編輯: 添加以下行,但仍然沒有改變...
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormat setLocale:locale];
嘗試設置的日期格式的區域設置en_US_POSIX'的'特殊語言環境。 – rmaddy
@rmaddy我上面做了編輯,仍然沒有改變。 – SuperAdmin
在我身邊,這是控制檯日誌在複製和粘貼代碼後所保存的內容:'New Date:2013-08-22 13:33:44 + 0000'和'Time interval -25591284.694682'。這對我來說是正確的。什麼是實際的'locale'? – holex