9

REST API を公開するアプリを作成しています。クエリ パラメータの一部は日付/時刻 (秒単位の精度) になり、応答の一部はタイムスタンプ (ミリ秒単位の精度) になります。

サーバー上の API 実装は Java です。クライアント アプリは、Java、JavaScript、.NET など、何でもかまいません。API は XML または JSON データを返します。日付/時刻データは Oracle データベースに格納されます。

これらの日付/時刻の値を渡すための最適な形式について、以前の痛みに基づいて推奨事項がある人はいますか? 1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を格納するために、古き良き long を使用することを考えています。

編集API でカバーされている日付範囲はリアルタイムのイベント用であるため、2010 年より前は何もなく、(ここで乱用を設定するために) 2038 年以降は何もありません。

私は最善が決定されるだろうと思います

a) さまざまな言語が、この long を内部日付オブジェクトに変換することをサポートしています。コードを記述する必要はありません。

b) 最小の CPU オーバーヘッド (サーバー アプリ上)

4

1 に答える 1

9

ISO 8601 のすべての方法

エポックベースの方法を使用すると、(ほとんどのシステムで) 符号付き 32 ビット INT (1901-12-13T20:45:52+00:00 から 2038-01-19T03:14:07+ まで) の範囲にバインドされます。 00:00) これは、実際には日付というよりもタイムスタンプに近いものです。これは、広範囲に及ぶ過去または将来の日付を処理できないためです。

于 2010-08-24T16:20:52.960 に答える