簡體   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