需求描述: 因项目需求需要实现将当前时间戳如:2022-11-15 11:15:20 进行转化为:160B0F0B0F14格式进行填充组包,其转化过程如下: 取年的2022的后2位——>22 ,再转为16进制——>16,然后再转大写——>16 取月份的11——>11 ,再转为16进制——>0b,然后再转大写——>0B 取日的15——>15,再转为16进制——>0f,然后再转大写——>0F 取时的11——>11,再转为16进制——>0b,然后再转大写——>0B 取分的15——>15,再转为16进制——>0f,然后再转大写——>0F 取秒的20——>20 ,再转为16进制——>14,然后再转大写——>14 然后再将获取到的6个拼接,组成160B0F0B0F14,以用作协议包中的时间。 Python核心算法如下: # -*- coding: utf-8 -*-# 开发团队 :Jimi# 开发人员 :莫天杨# 开发时间 :2022/11/10 18:07 # 文件名称 :time.PY# 开发工具 :PyCharm# 取系统当前时间22-11-10 18:30:10 按两位转16进制并且转大写import timeyear = hex(int(time.strftime('%y', time.localtime(time.time())))).replace('0x', '').zfill(2).upper()month = hex(int(time.strftime('%m', time.localtime(time.time())))).replace('0x', '').zfill(2).upper()day = (hex(int(time.strftime('%d', time.localtime(time.time()))))).replace('0x', '').zfill(2).upper()hour = hex(int(time.strftime('%H', time.localtime(time.time())))).replace('0x', '').zfill(2).upper()min = hex(int(time.strftime('%M', time.localtime(time.time())))).replace('0x', '').zfill(2).upper()second = hex(int(time.strftime('%S', time.localtime(time.time())))).replace('0x', '').zfill(2).upper()# print(second.zfill(2))datetime = year + month + day + hour + min + secondprint('DATETIME=', datetime) |
|