2011-03-19 81 views

回答

29

你需要使用下面的方法來轉換秒。到毫秒:

([NSDate timeIntervalSinceReferenceDate] * 1000) 
+1

欲瞭解更多你可以通過已經(與iOS7和使用的Xcode 5的iPhone模擬器上測試)討論後http://stackoverflow.com/questions/889380/how-can-i-get-a-precise-time-for-example-in-milliseconds-in-objective-c – Jhaliya 2011-03-19 04:24:11

+0

這無助於提高精度這個日期。你所做的就是把這個值轉換成以毫秒爲單位。如果精度級別在100 ms之前,則在100 ms之後。所以要小心 - 這個答案具有欺騙性。 – bkbeachlabs 2018-02-20 20:04:17

+0

請閱讀問題描述評論前仔細,用戶想要轉換到毫秒,並且接受了答案。 – Jhaliya 2018-02-22 05:56:13

4

基斯是對有關毫秒計算,但你可能要考慮僅處理的時間間隔的小數部分,你可以使用NSDateComponents把所有的時間成分精確到秒。如果你使用類似下面的東西,你可以添加一個毫秒組件:

/*This will get the time interval between the 2 
    dates in seconds as a double/NSTimeInterval.*/ 
double seconds = [date1 timeIntervalSinceDate:date2]; 

/*This will drop the whole part and give you the 
    fractional part which you can multiply by 1000 and 
    cast to an integer to get a whole milliseconds 
    representation.*/ 
double milliSecondsPartOfCurrentSecond = seconds - (int)seconds; 

/*This will give you the number of milliseconds accumulated 
    so far before the next elapsed second.*/ 
int wholeMilliSeconds = (int)(milliSecondsPartOfCurrentSecond * 1000.0); 

希望是有幫助的。

6

對於那些誰想要得到毫秒的時間(如Java中)

double timestamp = [[NSDate date] timeIntervalSince1970]; 
int64_t timeInMilisInt64 = (int64_t)(timestamp*1000);