web-dev-qa-db-ja.com

Protobufで使用する日時タイプ

LinuxとWindowsベースのシステム間のデータ交換にプロトコルバッファを使用することを検討しています。

日付/時刻(タイムスタンプ)値を送信するための推奨形式は何ですか?シリアル化するとき、フィールドは小さくなければなりません。

44
asgaut

使用している言語や必要な精度を言っているわけではありませんが、 nix時間int64にエンコードすることをお勧めします。ほとんどの言語とプラットフォームでの処理はかなり簡単です(Windowsの例については here を参照してください)。Protobufsは varint-encoding を使用して、表現可能なサイズを制限せずにサイズを小さく保ちます範囲が広すぎます。

38
JesperE

最新のprotobufバージョン(3.0)-C#の場合、タイムスタンプにWellKnownTypeが使用可能です。チェック this

6