如何以 protobuf 3 格式表示 XMLGregorianCalendar

How to represent XMLGregorianCalendar in protobuf 3 format

我有一个 xml,时间为

<Opened date="2012-09-13T18:30:34+05:30" Lang_Code="ENG"></Opened>

我需要以 proto3 格式表示它并发送生成的 java 类。 使用什么数据类型?我尝试了 google.protobuf.Timestamp,但不符合要求。

syntax = "proto3";

message Opened{

  <what data type?> date =1;

  string lang_code=2;

}

您可能希望至少 考虑 使用 google/type/datetime.proto 中的 DateTime 消息 - 该回购是我们 (Google)用于我们的 public API 原型,包括 DateTime.

等支持类型

您可能想要记录并验证:

  • year 值永远不会是 0
  • hour 值永远不会是 24
  • seconds 值永远不会是 60(除非你真的计划支持闰秒)
  • time_offset 中的一个将始终通过 utc_offset
  • 填充

当然,如果您愿意,您可以使用类似的信息创建自己的原型。没有现成的消息包含您需要的内容,因此您需要使用 some 类型的消息,除非您只想将其保留为字符串(我不推荐)。