一、什么是Cp56time2a 时间
- CP56time2a是101/104规约中定义的时间格式
- CP56time2a是七个八位位组二进制时间
![Alt](https://img-blog.csdnimg.cn/c18cf9b2b7e14a34a24cbbcb6864dafc.jpg)
二、代码干货
- 可以结合上图Cp56time2a 时间格式去理解代码
- 废话不多说,直接上代码
2.1 Cp56time2a 转 北京时间函数
def intCp56ToDatetime(Cp56time_int):
list = []
for i in range(7):
list.append((Cp56time_int >> (8 * (6 - i))) & 0xFF)
stringdata = "20{:0>2d}年{:0>2d}月{:0>2d}日 {:0>2d}:{:0>2d}:{:0>2d}" \
.format(list[0], list[1], (list[2] & 0x1F), (list[3] & 0x1F),
(list[4] & 0x3F), int(((list[5] << 8) + list[6]) / 1000))
return stringdata
2.2 应用实战
print("\n\n")
Cp56time2a_str = "18031a1229bb80"
Cp56time2a_int = int(Cp56time2a_str, 16)
print(intCp56ToDatetime(Cp56time2a_int))
2.3 运行结果
![Alt](https://img-blog.csdnimg.cn/direct/f5d6a206d1a04cb78a4a66be89a463b1.png)
三、总结
- 欢迎纠正,(づ ̄3 ̄)づ╭❤~
如果有帮助到你,能点个赞吗?ღ( ´・ᴗ・` ) 比心