我還沒有在任何地方找到這個問題的答案,但這看起來像一個典型的問題:我有Objective-C的「NSDate時間戳」,看起來像「2010-07-14 16:30:41 +0200」 。 java時間戳只是一個長整數(例如:「976712400000」)。什麼是Objective-C等效於java時間戳?
所以,我的問題是:什麼是Objective-c相當於java時間戳?
在此先感謝您的幫助。
我還沒有在任何地方找到這個問題的答案,但這看起來像一個典型的問題:我有Objective-C的「NSDate時間戳」,看起來像「2010-07-14 16:30:41 +0200」 。 java時間戳只是一個長整數(例如:「976712400000」)。什麼是Objective-C等效於java時間戳?
所以,我的問題是:什麼是Objective-c相當於java時間戳?
在此先感謝您的幫助。
您可以通過減去1970年1月1日的unix時間的起始日期,將NSDAte給出的格式轉換爲unix時間。NSTimeInterval只是兩個日期之間的差異,您可以通過秒數:
NSDate * past = [NSDate date];
NSTimeInterval oldTime = [past timeIntervalSinceDate:[NSDate dateWithNaturalLanguageString:@"01/01/1970"]];
NSString * unixTime = [[NSString alloc] initWithFormat:@"%0.0f", oldTime];
雖然@ lordsandwich的答案是正確的,你也可以直接使用NSDate
timeIntervalSince1970
方法,而不是「製造」 1970年NSDate
自己。
這將這樣的工作:
NSDate *past = [NSDate date];
NSTimeInterval oldTime = [past timeIntervalSince1970];
NSString *unixTime = [[NSString alloc] initWithFormat:@"%0.0f", oldTime];
,當您使用這個你不要增加不必要的新對象的自動釋放池,我認爲它實際上是更好地使用這種方法。
是的,它看起來更好。謝謝。 – jcdmb 2010-07-16 08:40:20
這正是我所期待的。非常感謝! – jcdmb 2010-07-15 13:08:38