デバッグ用にGPSの計測時間の代わりに、DateTimeの時間を使った際に変換を失敗して正常に動作しないことがあったので、違いについてメモ。
GPSの計測時間
Input.location.lastData.timestampで取得出来るdouble型の値。
前回取得したGPSのデータの時間を、1970年1月1日午前00:00:00からの経過秒数で表す。
DateTimeの時間
DateTime.Now.Ticksで取得できるlong型の値。
1年1月1日午前00:00:00からの経過時間を100ナノ秒単位で表す。
DateTime→GPSのtimestampの変換
基準時間と単位が違うので、そこを調整する。
// 1970年1月1日00:00:00からの経過情報を日本時間で得る。 DateTime kijun = new DateTime(1970, 1, 1).ToLocalTime(); // 今の時間から基準時間を引き、100ナノ秒を秒に変換する。 double gpstime = (DateTime.Now.Ticks - kijun.Ticks)/ 10000000;