protobuf-net如何序列化DateTime?

8

我正在开发一个客户端/服务器项目,客户端用Python编写(将在Linux上运行),服务器用C#编写。我使用标准套接字进行通信,并使用protobuf-net进行协议定义。但是,我想知道protobuf-net如何处理DateTime序列化。Unix时间与.net标准时间不同,所以我应该如何处理这种情况?

谢谢。


你可以使用 Reflector 或 IlSpy 来查看例程的源代码。 - Oscar
1个回答

11

DateTime(日期时间)是通过一个多字段消息伪造的,这个消息并不简单,但也不是不可能理解。回头看,我希望我能用另一种方式来完成它,但现在已经无法更改。在 protobuf-net 项目中的 bcl.proto 中定义了该消息。

然而!如果您要针对多个平台进行开发,我强烈建议您在 DTO 模型中直接使用 long 等数据类型,表示某个时刻距离某个纪元的时间间隔(例如自 1970 年以来的秒数或毫秒数)。


@marc-gravell 我需要在Python中解析由.Net编码程序发送的proto消息。我该如何解析由.Net编码的日期时间?它的编码方式是什么?我找不到blc.proto。 - efficks
@efficks 你有没有在 GitHub 上问过同样的问题?我在那里回答了你,并附上了模式的链接。 - Marc Gravell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接