2011-10-06 164 views
0

我有這段時間以毫秒爲單位,我在XML Feed中收到,而且我需要以任何適當的形式顯示任何人都可以理解的時間。將時間從毫秒轉換爲人類可讀的日期

任何人都可以指導我如何實現這樣的行爲?

謝謝。

注:我得到的毫秒時間是在UNIX時間。

回答

6

使用NSDatedateWithTimeIntervalSince1970:方法是將您的時間戳記除以1000.0

NSDate* date = [NSDate dateWithTimeIntervalSince1970:timestamp/1000.0]; 

有關格式化的更多詳細信息,請參閱this question

+0

我爲每一個日期我試着用這些方法轉換''1月16日1970'。但是,當我使用在線轉換工具時,我得到了真正的結果.... – astazed

+0

只是刪除了'/ 1000.0'部分。它工作得很好! – astazed

+0

呵呵。你沒有時間毫秒嗎? – zneak

1

與間隔創建一個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]; 
} 

很顯然,你應該一次分配的格式,如果你這樣做保持它周圍很多。

+0

對不起,但zneak是第一個回答這個問題.... – astazed

+0

這很酷,我沒有注意到他的答案中的鏈接如何格式化,所以我試着給出一個更完整的答案。 –