2013-04-05 26 views

答えて

25

同様の投稿herehereがあります。

基本的には、第二の形式に基準日(2001年1月1日、GMT)を取得し、1000

NSTimeInterval seconds = [NSDate timeIntervalSinceReferenceDate]; 
double milliseconds = seconds*1000; 

乾杯でそれを掛けています!

+5

'timeIntervalSinceReferenceDate'は' double'を返します。 1000を掛ける前にそれを整数に代入すると、ミリ秒の精度が失われます! –

+0

はい、申し訳ありません。 NSTimeIntervalはdoubleのtypedefです: 'typedef double NSTimeInterval;' – alexcristea

+0

実際には、ミリ秒を格納するためにdoubleを使用する必要があります。そうしないと、オーバーフローの問題が発生する可能性が高くなります。 double milliseconds =秒* 1000; – Michael

1

timeIntervalSince1970は、1970年から秒を返します。必要に応じて、他のtimeIntervalSinceメソッドがあります。逆変換のために

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDate/timeIntervalSince1970

、私はこのStackOverflowの記事を参照してください 、ミリ秒からNSDateに言うことを意味します。 Convert milliseconds to NSDate

あなたの問題を解決することを願っています。

関連する問題