BitData的数据格式如下:
(除了Reserve其他bit均是有效值,char BD1存储年份,char BD2存储月份,char BD3存储日期,char BD4存储小时,char BD5存储分钟,char BD6存储秒)
年份(BD1) | 月份(BD2) | 日期(BD3) | 小时(BD4) | 分钟(BD5) | 秒(BD6) | |
bit7 | Reserve | Reserve | Reserve | Reserve | ||
bit6 | Reserve | Reserve | Reserve | Reserve | ||
bit5 | Reserve | |||||
bit4 | ||||||
bit3 | Reserve | |||||
bit2 | Reserve | |||||
bit1 | Reserve | |||||
bit0 | Reserve | Reserve |
以当前2019年为例子,获取完整的年月日时分秒信息:
(BD1 + 2000), // year
((BD2 & 0xF0) >> 4), // month
((BD3 & 0x3E) >> 1), // day
(BD4 & 0x1F), // hour
(BD5 & 0x3F), // minute
(BD6 & 0x3F)); // second
最后格式化成字符串:
char szTimeInfo[64];
sprintf( szTimeInfo, "%.4d/%.2d/%.2d %.2d:%.2d:%.2d",
(BD1 + 2000), // year
((BD2 & 0xF0) >> 4), // month
((BD3 & 0x3E) >> 1), // day
(BD4 & 0x1F), // hour
(BD5 & 0x3F), // minute
(BD6 & 0x3F)); // second