以前、SensorEvent
のタイムスタンプはシステム起動からのナノ秒単位の時間なので何時何分におきたイベントか知りたいときは一工夫必要だというようなことを書いた。しかし、Xperia Z1(Android 4.2.2)で表題のようなことを確認した。件のアルゴリズムで時刻を計算していたらとんでもなく先の日付になっていた。
件のアルゴリズムは、SensorEvent.timestamp
とSystem.nanoTime()
とは同じ起源の時間表現だという前提であったのだが、それもXperiaZ1の世界では違うということである。そういうことは大抵急いでいる時に発覚するので(したので)なかなかの衝撃だった。
確かに、公式のリファレンスにはSensorEvent.timestamp
にはナノ秒の時間が格納されているよ的なことしか書いていないが、少なくとも2通りの表現方法が存在しているのはちょっとこまる。桁数をみて場合分けすればよいのだろうか。