0

我有一个带有时间的 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;

}
4

1 回答 1

1

您可能至少要考虑使用google/type/datetime.protoDateTime中的消息- 该 repo 是我们(Google)用于我们的公共 API 原型的一个,包括支持类型,如.DateTime

您可能想要记录并验证:

  • year值永远不会为 0
  • hour值永远不会是 24
  • seconds值永远不会是 60(除非您实际上计划支持闰秒)
  • oneoftime_offset将始终通过utc_offset

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

于 2020-01-28T17:38:47.717 回答