免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8044 | 回复: 10
打印 上一主题 下一主题

请教大侠,如何在BCD码和时间之间进行转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-03 01:39 |只看该作者 |倒序浏览
如何,时间转换为BCD码的算法和BCD转换为时间的算法是什么? 有条件的话最好能给一小段python代码,不甚感激!
比如:
BCD码: '288c334c'
该段BCD码实际时间为2015-07-23 13:46:52

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
2 [报告]
发表于 2015-08-03 15:00 |只看该作者
LZ怎么知道
一个288c334cBCD码
时间为2015-07-23 13:46:52
呢?

LZ怎么知道的?

论坛徽章:
0
3 [报告]
发表于 2015-08-03 16:52 |只看该作者
我这有程序显示这段BCD码是这个时间。你知道是如何实现的吗?

论坛徽章:
0
4 [报告]
发表于 2015-08-04 17:18 |只看该作者
自己顶一下

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
5 [报告]
发表于 2015-08-04 21:30 |只看该作者
贴个程序的代码看看吧LZ

论坛徽章:
0
6 [报告]
发表于 2015-08-05 00:43 |只看该作者
我这没有代码,现在想知道如何通过这段4个字节的BCD码流换算成时间啊。
substr函数可以帮我看看吗?

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
7 [报告]
发表于 2015-08-06 12:29 |只看该作者
回复 6# jjwspj



它不是BCD码。它看起来像一个Unix时间戳,但时间不符。

2015-07-23 13:46:52
1991-07-23 15:46:52

2015 是写错?
15   是写错?

由于本人也没有学过这方面的知识,LZ最好能给详细说明下。
LZ 你怎么看?
谢谢了!

论坛徽章:
0
8 [报告]
发表于 2015-08-07 01:16 |只看该作者
substr函数 发表于 2015-08-06 12:29
回复 6# jjwspj

substr函数,是我自己搞错了,你是对的,确实只是unix时间戳,不好意思啊。不过这个时间戳的epoch是1994年1月1日,python的epoch是1970年1月1日,所以这个应该这样计算:
t=datetime.datetime(1994,1,1,8,0)
timestamp1994=time.mktime(t.timetuple())
total=timestamp1994+int("288c334c",16)
ftime=time.gmtime(total)
timeStr=time.strftime('%Y-%m-%d %H:%M:%S',ftime)

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
9 [报告]
发表于 2015-08-07 14:36 |只看该作者
回复 8# jjwspj

谢谢了!
   

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
10 [报告]
发表于 2015-08-07 15:16 |只看该作者
本帖最后由 substr函数 于 2015-08-07 15:22 编辑

回复 8# jjwspj


LZ 不好意思啊。
我是小白。
这个时间戳的epoch为什么是
1994,1,1,8,0

想知道啊 谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP