我得到CMDeviceMotion對象從CMMotionManager。 CMDeviceMotion的其中一個屬性是時間戳,它表示爲NSTimeInterval(double)。根據文檔,這允許「亞毫秒」時間戳精度。NSTimeInterval到unix時間戳
[motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"Sample: %d Timestamp: %f ",counter, motion.timestamp);
}
不幸的是,NSTimeInterval是自去年設備啓動計算,冒充顯著挑戰原始形式使用它。
有沒有人有工作代碼將此NSTimeInterval轉換爲像時間戳(UTC時區)的Unix?
謝謝!
'NSTimeInterval'通常是相對於參考日期。你從哪裏得到這個相對於最後一次設備啓動? –
LOL在「亞毫秒」。 'NSTimeInterval'是一個具有53位精度的「double」,分辨率至少爲1/2^52 *(自1/1/01以來的時間)。目前約爲80納秒。他們不僅沒有獲得任何*精度,而且手持式計算器在一分鐘內會告訴他們,但現在不可能用其他任何東西,甚至10毫秒精度來可靠地校準時間戳。此外,我懷疑測量是在傳感器芯片的閒置狀態下進行的,而時間戳反映了內核處理數據的時間。真是一團糟。 – Potatoswatter