我有這段時間以毫秒爲單位,我在XML Feed中收到,而且我需要以任何適當的形式顯示任何人都可以理解的時間。將時間從毫秒轉換爲人類可讀的日期
任何人都可以指導我如何實現這樣的行爲?
謝謝。
注:我得到的毫秒時間是在UNIX時間。
我有這段時間以毫秒爲單位,我在XML Feed中收到,而且我需要以任何適當的形式顯示任何人都可以理解的時間。將時間從毫秒轉換爲人類可讀的日期
任何人都可以指導我如何實現這樣的行爲?
謝謝。
注:我得到的毫秒時間是在UNIX時間。
使用NSDate
的dateWithTimeIntervalSince1970:
方法是將您的時間戳記除以1000.0
。
NSDate* date = [NSDate dateWithTimeIntervalSince1970:timestamp/1000.0];
有關格式化的更多詳細信息,請參閱this question。
與間隔創建一個NSDate
對象,然後使用一個NSDateFormatter
對象來把它轉換成顯示值,就像這樣:
- (void)displayDate:(double)unixMilliseconds {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:unixMilliseconds/1000.];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];
NSLog("The date is %@", [dateFormatter stringFromDate:date]);
[dateFormatter release];
}
很顯然,你應該一次分配的格式,如果你這樣做保持它周圍很多。
對不起,但zneak是第一個回答這個問題.... – astazed
這很酷,我沒有注意到他的答案中的鏈接如何格式化,所以我試着給出一個更完整的答案。 –
我爲每一個日期我試着用這些方法轉換''1月16日1970'。但是,當我使用在線轉換工具時,我得到了真正的結果.... – astazed
只是刪除了'/ 1000.0'部分。它工作得很好! – astazed
呵呵。你沒有時間毫秒嗎? – zneak