Protocol buffers Protobuf C#消息到JAVA的翻译

Protocol buffers Protobuf C#消息到JAVA的翻译,protocol-buffers,protobuf-net,Protocol Buffers,Protobuf Net,我正在尝试将使用C#生成的消息翻译成JAVA。作为第一步,我生成了proto文件,这就是我得到的 package Om.Business.Scanner; message ScannerActivityDetail { optional string ActivityId = 1; optional string ContextId = 2; optional int32 ActivityStart = 3; optional bcl.DateTime Activity

我正在尝试将使用C#生成的消息翻译成JAVA。作为第一步,我生成了proto文件,这就是我得到的

package Om.Business.Scanner;

message ScannerActivityDetail {
   optional string ActivityId = 1;
   optional string ContextId = 2;
   optional int32 ActivityStart = 3;
   optional bcl.DateTime ActivityEnd = 4;
}
如何在java世界中解释bcl.DateTime

我正在使用protobuf net并尝试对C#app生成的消息进行反序列化

提前感谢你的帮助

看看,这应该很简单。以明显的方式创建
地图
,然后:

public static Date toDate(bcl.DateTime proto) {
    TimeUnit unit = SCALE_TO_UNIT_MAP.get(proto.getScale());
    if (unit == null) {
        throw new IllegalArgumentException("Invalid scale: " + proto.getScale());
    }
    long millis = unit.toMillis(proto.getValue());
    return new Date(millis);
}

您可以以完全相同的方式使用的
DateTime
类型,因为它的构造函数也接受
long
。(您可能需要考虑指定哪个时区…

如果您使用跨平台,我建议将日期/时间简单地处理为一个历元的某个时间间隔(传统上是1970年1月1日)