+ -
当前位置:首页 → 问答吧 → 关于转换字符串的

关于转换字符串的

时间:2011-12-23

来源:互联网

我接收到的报文中,有关于时间的,p[7] = 0x00,p[8] = 0xa6,p[9] = 0x0a,p[10] = 0x12,p[11] = 0x0c,p[12] = 0x0b,p[13] = 0x08
p[7]和p[8]是代表时间中的年,高位在前,p[9]是月,p[10]是日,p[11]是小时,p[12]是分钟,p[13]是秒,
我现在要把它转换成字符串形式,即转换成2066-10-18 12:13:08这种形式,应该怎么做呀?

作者: wanglijunshuaige   发布时间: 2011-12-23

好像就是十六进制转换为十进制呀?

作者: sunyongliang118   发布时间: 2011-12-23

就直接使用CString str;str.Format("%d-%d-%d %d:%d:%d" ,p[7],....p[13] );

作者: jiuzhoulh   发布时间: 2011-12-23

把它做成指针,直接转CTime *不行吗?

作者: natfit   发布时间: 2011-12-23

根据报文的原始数据 找到时间 (数字00A6) 与当前 表示时间(如2066)之间的规律,
 做个转换,
UIN year = Convert(0x00A6);
然后
CString str;
str.Format("%d-%d-%d %d:%d:%d" ,year,....p[13]);

没有看完整的数据包所以不知道如何计算
根据你的包应该只有年需要计算,其它可直接转换为整型值

作者: login20   发布时间: 2011-12-23

CString 格式化,

作者: shen_wei   发布时间: 2011-12-23