日期/时间值的便携式二进制表示
我正在寻找一种在二进制文件中序列化日期/时间值的方法。但是,序列化的表示应该使得我必须能够跨平台(Windows、Linux)、体系结构(64 位/32 位)和编程语言(C#、Java、C++)对其进行反序列化。我想知道是否有任何已经可用的公共领域功能。任何指针将不胜感激。
I am looking for a way to serialize date/time value in a binary file. However, the serialized presentation should be such that I must be able to deserialize it across platforms (Windows, Linux), architecture (64 bit/32 bit), and programming languages (C#, Java, C++). I am wondering if there are any public domain functions that are already available. Any pointer would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 UNIX 纪元以来的 64 位毫秒。应该适合一段时间 ;-) (
Use 64-bit milliseconds since UNIX epoch. Should be good for a while ;-) (
日期和时间有很多很多标准。 此网页描述了其中许多格式。所有这些格式都可以序列化和反序列化为二进制文件。许多编程语言都具有可以导入、导出和转换这些格式的函数。
如果您正在寻找非常小的表示形式,那么自特定日期和时间以来的 32 位或 64 位秒可能是一个不错的选择。如果您可以接受更大的表示形式,那么您可能希望以 W3C DTF 格式之一存储日期/时间。例如,最详细的日期/时间类似于
1997-07-16T19:20:30.45+01:00
。There are lots and lots of standards for dates and times. This webpage describes many of these formats. All of these formats can be serialized and deserialized to binary files. Many programming languages have functions that can import, export, and convert these formats.
If you are looking for a very small representation, then 32-bit or 64-bit seconds since a certain date and time might be a good choice. If you can live with a larger representation then you may want to store the date/time in one of the W3C DTF formats. For example the most detailed date/time looks like
1997-07-16T19:20:30.45+01:00
.Temporenc (http://temporenc.org) 是一种全面的日期和时间二进制编码格式。
Temporenc (http://temporenc.org) is a comprehensive binary encoding format for dates and times.