7

GPS 時刻を含むいくつかのオブジェクトをサーバーに送信する GPS デバイスがあります。
週番号、週の秒の形式で表示されます。

それを日時形式に変換したい。そのためのコードをいくつか見つけましたが、見つけたのは、秒を週に含めずに、週番号を日付に変換する方法だけです。

それを行っているこのWebページを見つけましたが、C#Windowsアプリコードでそれを行う方法がわかりません。

サンプルデータ:

GPS Week number 1643
GPS second into week 377505

それはする必要があります2011/07/07 10:51:44

4

2 に答える 2

10

週を表す DateTime がわかっている場合は、AddSeconds を呼び出すだけで、必要な DateTime を見つけることができます。

上記でリンクした計算機によると、週 1643、377505 は、10:51:44 ではなく 2011/07/07 07:51:44 に相当するはずです (タイム ゾーンのオフセットでしょうか?) とにかく、次のスニペットはGMT が選択されている場合、リンク内の計算機と同じ結果になります。タイムゾーンが異なる場合は、独自のオフセットを適用する必要があります。

DateTime GetFromGps(int weeknumber, double seconds)
{
    DateTime datum = new DateTime(1980,1,6,0,0,0);
    DateTime week = datum.AddDays(weeknumber * 7);
    DateTime time = week.AddSeconds(seconds);
    return time;
}
于 2011-07-07T08:57:45.553 に答える
1

これはVB6で動作します

Dim dtt As Date
dtt = "6 / 1 / 1980"
dtt = DateAdd("d", (1837 * 7), dtt)
dtt = DateAdd("s", 129414, dtt)

1837 は gps の週 129414 は週の秒数

于 2015-03-23T13:23:41.663 に答える