繁体   English   中英

解码mysql xdevapi时间戳

[英]decoding mysql xdevapi timestamp

我在mysql连接器8.0.11中使用c xdevapi,并尝试在程序中读取时间戳。 它们是从数据库中以二进制形式获取的,我无法弄清楚它是如何编码的。 我假设它会反映此处记录的内部编码: https : //dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html

但是,实验似乎无法证实这一点。 当我阅读已设置为的列时:

epoch (1970-1-1 00:00:00) 

我读入二进制值01010FB2。 而且,增加一分钟会增加宽度到6个字节,增加一个小时会增加5个字节。 这些都不符合我的期望。

我在xdevapi文档中找不到时间戳记,我真的希望有人能够帮助我。

因此,我通过查看xdevapi的Java实现了解了这一点。 字节是一个protobuf编码的流。

若要解析日期时间或时间戳结构,请通过调用GetVarint32从年,月,日,小时,分钟,秒,纳秒的顺序从编码流中读取,直到您已读取纳秒或编码流中没有更多数据为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM