【发布时间】:2019-05-09 21:21:32
【问题描述】:
我有一个程序以 BLOB 格式将数据存储在 SQLite 数据库中。
此 BLOB 字段中包含的部分数据是日期和时间设置。
我正在尝试了解此日期和时间的格式。
我无法访问程序的实际代码,我只能访问 SQLite 数据库以观察所做的更改。
例如,如果我将程序的日期和时间设置为 2019-05-09-0500PM,则十六进制代码似乎是:
25 83 F5 03 A5 D6 80
我已经使用日期和时间设置来查看存储在数据库中的内容,但我无法弄清楚这是什么类型的时间戳。
以下是我观察我对程序中的日期和时间设置所做的每次更改的一些示例设置:
Actual date and time HEX code
2019-05-09 - 0400 PM 25 83 F5 03 6E E8 00
2019-05-09 - 0500 PM 25 83 F5 03 A5 D6 80
2020-05-09 - 1100 PM 25 83 F5 04 EF 6D 80
2019-05-10 - 1200 AM 25 83 F6 00 00 00 00
2019-05-10 - 0300 AM 25 83 F6 00 A4 CB 80
2019-05-10 - 0400 AM 25 83 F6 00 DB BA 00
2019-05-10 - 0400 PM 25 83 F6 03 6E E8 00
2019-06-09 - 0400 PM 25 84 14 03 6E E8 00
2020-05-09 - 0400 PM 25 85 63 03 6E E8 00
有谁知道这是什么格式以及如何将我自己的新日期和时间写入这个 BLOB 字段?
程序在 Windows 10 上运行。
【问题讨论】:
-
我怀疑前 3 个字节编码日期,后 3 个字节编码时间,但中间的字节可以采用任何一种方式。可以包含一些 AM 时间戳吗?
-
我添加了一些附加信息。
-
谢谢。你还能得到
2019-05-09-1159PM和2019-05-10-1200AM的值吗? -
我不能给你分钟或秒的任何东西,只有整个小时。这是我试图破译这个时间戳的部分原因。我希望写一些代码来添加更准确的时间戳。
标签: sqlite timestamp unix-timestamp timestamp-with-timezone sql-timestamp