时间转成bcd码java_Linux时间戳转换成BCD码(转载)

1 #include

2 #include

3 #include

4 #include

5 /***************************************************************************6 *函数名称:Char2Bcd7 *函数介绍:字符串转BCD8 *输入参数:-buf:指向字符串9 *输出参数:无10 *返回值 :转换后的双精度值11 *修改历史:12 ***************************************************************************/

13 char Char2Bcd(chari_cHexData)14 {15 chari;16 i=((i_cHexData%100)/10)*16+(i_cHexData%10);17 returni;18 }19

20 /***************************************************************************21 *函数名称:Get_BCDTime722 *函数介绍:转换为BCD码格式时间23 *输入参数:-*time:24 *输出参数:无25 *返回值 :无26 *修改历史:27 ***************************************************************************/

28 void Get_BCDTime7(time_t i_tTime,char*o_cpBcdTime)29 {30 struct tm *time;31 time=localtime(&i_tTime);32 o_cpBcdTime[0]=Char2Bcd((time->tm_year+1900)/100);33 o_cpBcdTime[1]=Char2Bcd((time->tm_year+1900)%100);34 o_cpBcdTime[2]=Char2Bcd(time->tm_mon+1);35 o_cpBcdTime[3]=Char2Bcd(time->tm_mday);36 o_cpBcdTime[4]=Char2Bcd(time->tm_hour);37 o_cpBcdTime[5]=Char2Bcd(time->tm_min);38 o_cpBcdTime[6]=Char2Bcd(time->tm_sec);39 }40

41 /***************************************************************************42 *函数名称:Get_CurBCDTime643 *函数介绍:转换为BCD码格式时间44 *输入参数:-*time:45 *输出参数:无46 *返回值 :无47 *修改历史:48 ***************************************************************************/

49 void Get_BCDTime6(time_t i_tTime,char*o_cpBcdTime)50 {51 struct tm *time;52 time=localtime(&i_tTime);53 o_cpBcdTime[0]=(unsigned char)((((time->tm_year-100)/10)<<4)|((time->tm_year-100)%10));54 o_cpBcdTime[1]=(unsigned char)((((1+time->tm_mon)/10)<<4)|((1+time->tm_mon)%10));55 o_cpBcdTime[2]=(unsigned char)((((time->tm_mday)/10)<<4)|((time->tm_mday)%10));56 o_cpBcdTime[3]=(unsigned char)((((time->tm_hour)/10)<<4)|((time->tm_hour)%10));57 o_cpBcdTime[4]=(unsigned char)((((time->tm_min)/10)<<4)|((time->tm_min)%10));58 o_cpBcdTime[5]=(unsigned char)((((time->tm_sec)/10)<<4)|((time->tm_sec)%10));59 }60

61 /***************************************************************************62 *函数名称:Get_CurBCDTime663 *函数介绍:获取当前BCD码格式时间64 *输入参数:-*time:65 *输出参数:无66 *返回值 :无67 *修改历史:add by lianzihao 2016-09-1368 ***************************************************************************/

69 void Get_CurBCDTime6(char*o_cpBcdTime)70 {71 time_t lt=0;72 lt =time(NULL);73 struct tm * pCurTime = localtime(&lt);74 o_cpBcdTime[0]=(unsigned char)((((pCurTime->tm_year-100)/10)<<4)|((pCurTime->tm_year-100)%10));75 o_cpBcdTime[1]=(unsigned char)((((1+pCurTime->tm_mon)/10)<<4)|((1+pCurTime->tm_mon)%10));76 o_cpBcdTime[2]=(unsigned char)((((pCurTime->tm_mday)/10)<<4)|((pCurTime->tm_mday)%10));77 o_cpBcdTime[3]=(unsigned char)((((pCurTime->tm_hour)/10)<<4)|((pCurTime->tm_hour)%10));78 o_cpBcdTime[4]=(unsigned char)((((pCurTime->tm_min)/10)<<4)|((pCurTime->tm_min)%10));79 o_cpBcdTime[5]=(unsigned char)((((pCurTime->tm_sec)/10)<<4)|((pCurTime->tm_sec)%10));80 }81 /***************************************************************************82 *函数名称:Get_CurBCDTime783 *函数介绍:获取当前BCD码格式时间84 *输入参数:-*time:85 *输出参数:无86 *返回值 :无87 *修改历史:88 ***************************************************************************/

89 void Get_CurBCDTime7(char*o_cpBcdTime)90 {91 time_t tt;92 struct tm *curtime;93 time(&tt);94 curtime=localtime(&tt);95 o_cpBcdTime[0]=Char2Bcd((curtime->tm_year+1900)/100);96 o_cpBcdTime[1]=Char2Bcd((curtime->tm_year+1900)%100);97 o_cpBcdTime[2]=Char2Bcd(curtime->tm_mon+1);98 o_cpBcdTime[3]=Char2Bcd(curtime->tm_mday);99 o_cpBcdTime[4]=Char2Bcd(curtime->tm_hour);100 o_cpBcdTime[5]=Char2Bcd(curtime->tm_min);101 o_cpBcdTime[6]=Char2Bcd(curtime->tm_sec);102 }103

104 #define LEN 7

105 int main(void)106 {107 int i = 0;108 char l_arrBcdtime[LEN] ={0};109 Get_CurBCDTime7(l_arrBcdtime);110 printf("Get_CurBCDTime7 :");111 for(i=0;i

116 Get_CurBCDTime6(l_arrBcdtime);117

118 printf("\nGet_CurBCDTime6 :");119 for(i=0;i

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值