私は現在と今まで覚えていた以前の時刻との間のミリ秒数を整数でどのように計算するのですか?
ミリ秒の整数として必要な理由はありますか?別の日付以降の時間間隔についてNSDateに問い合わせると、浮動小数点数秒が与えられます。ミリ秒が本当に必要な場合は、それを1000倍して浮動小数点数のミリ秒を得ることができます。実際に整数が必要な場合は、浮動小数点値を丸めたり切り捨てたりすることができます。
あなたは、開始から終了までの整数でそれを行う絶対単位で現在の時刻を取得するためにUpTime
またはmach_absolute_time
のいずれかを使用し、実世界のユニットにそれを変換するためにAbsoluteToNanoseconds
を使用したい場合。明らかに、ミリ秒単位で100万分の1を割る必要があります。
QA1398
はmach_absolute_time
を示唆し、それは同じタイプAbsoluteToNanoseconds
用途(テクニカルに示されるようにNO「ポインタ楽しい」)を返すためUpTime
は、容易です。
AbsoluteToNanoseconds
は、構造体であるUnsignedWide
を返します。 (これは、Macマシンがスカラーの64ビット値を処理する前のものです)。UnsignedWideToUInt64
関数を使用してスカラーに変換します。それはちょうどあなたが通常のやり方をする減算を残します。
'clock'のための非C++固有のdocリンク:http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man3/clock.3.html –