#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
/***************************************************************************
*函数名称:Char2Bcd
*函数介绍:字符串转BCD
*输入参数:-buf:指向字符串
*输出参数:无
*返回值 :转换后的双精度值
*修改历史:
***************************************************************************/
char Char2Bcd(char i_cHexData)
{
char i;
i=((i_cHexData%)/)*+(i_cHexData%);
return i;
} /***************************************************************************
*函数名称:Get_BCDTime7
*函数介绍:转换为BCD码格式时间
*输入参数:-*time:
*输出参数:无
*返回值 :无
*修改历史:
***************************************************************************/
void Get_BCDTime7(time_t i_tTime,char* o_cpBcdTime)
{
struct tm *time;
time=localtime(&i_tTime);
o_cpBcdTime[]=Char2Bcd((time->tm_year+)/);
o_cpBcdTime[]=Char2Bcd((time->tm_year+)%);
o_cpBcdTime[]=Char2Bcd(time->tm_mon+);
o_cpBcdTime[]=Char2Bcd(time->tm_mday);
o_cpBcdTime[]=Char2Bcd(time->tm_hour);
o_cpBcdTime[]=Char2Bcd(time->tm_min);
o_cpBcdTime[]=Char2Bcd(time->tm_sec);
} /***************************************************************************
*函数名称:Get_CurBCDTime6
*函数介绍:转换为BCD码格式时间
*输入参数:-*time:
*输出参数:无
*返回值 :无
*修改历史:
***************************************************************************/
void Get_BCDTime6(time_t i_tTime,char* o_cpBcdTime)
{
struct tm *time;
time=localtime(&i_tTime);
o_cpBcdTime[]=(unsigned char)((((time->tm_year-)/)<<)|((time->tm_year-)%));
o_cpBcdTime[]=(unsigned char)((((+time->tm_mon)/)<<)|((+time->tm_mon)%));
o_cpBcdTime[]=(unsigned char)((((time->tm_mday)/)<<)|((time->tm_mday)%));
o_cpBcdTime[]=(unsigned char)((((time->tm_hour)/)<<)|((time->tm_hour)%));
o_cpBcdTime[]=(unsigned char)((((time->tm_min)/)<<)|((time->tm_min)%));
o_cpBcdTime[]=(unsigned char)((((time->tm_sec)/)<<)|((time->tm_sec)%));
} /***************************************************************************
*函数名称:Get_CurBCDTime6
*函数介绍:获取当前BCD码格式时间
*输入参数:-*time:
*输出参数:无
*返回值 :无
*修改历史:add by lianzihao 2016-09-13
***************************************************************************/
void Get_CurBCDTime6(char* o_cpBcdTime)
{
time_t lt=;
lt = time(NULL);
struct tm * pCurTime = localtime(&lt);
o_cpBcdTime[]=(unsigned char)((((pCurTime->tm_year-)/)<<)|((pCurTime->tm_year-)%));
o_cpBcdTime[]=(unsigned char)((((+pCurTime->tm_mon)/)<<)|((+pCurTime->tm_mon)%));
o_cpBcdTime[]=(unsigned char)((((pCurTime->tm_mday)/)<<)|((pCurTime->tm_mday)%));
o_cpBcdTime[]=(unsigned char)((((pCurTime->tm_hour)/)<<)|((pCurTime->tm_hour)%));
o_cpBcdTime[]=(unsigned char)((((pCurTime->tm_min)/)<<)|((pCurTime->tm_min)%));
o_cpBcdTime[]=(unsigned char)((((pCurTime->tm_sec)/)<<)|((pCurTime->tm_sec)%));
}
/***************************************************************************
*函数名称:Get_CurBCDTime7
*函数介绍:获取当前BCD码格式时间
*输入参数:-*time:
*输出参数:无
*返回值 :无
*修改历史:
***************************************************************************/
void Get_CurBCDTime7(char* o_cpBcdTime)
{
time_t tt;
struct tm *curtime;
time(&tt);
curtime=localtime(&tt);
o_cpBcdTime[]=Char2Bcd((curtime->tm_year+)/);
o_cpBcdTime[]=Char2Bcd((curtime->tm_year+)%);
o_cpBcdTime[]=Char2Bcd(curtime->tm_mon+);
o_cpBcdTime[]=Char2Bcd(curtime->tm_mday);
o_cpBcdTime[]=Char2Bcd(curtime->tm_hour);
o_cpBcdTime[]=Char2Bcd(curtime->tm_min);
o_cpBcdTime[]=Char2Bcd(curtime->tm_sec);
} #define LEN 7
int main(void)
{
int i = ;
char l_arrBcdtime[LEN] ={};
Get_CurBCDTime7(l_arrBcdtime);
printf("Get_CurBCDTime7 :");
for(i=;i<LEN;i++)
{
printf("%02x",l_arrBcdtime[i]);
} Get_CurBCDTime6(l_arrBcdtime); printf("\nGet_CurBCDTime6 :");
for(i=;i<LEN-;i++)
{
printf("%02x",l_arrBcdtime[i]);
}
printf("\n");
return ;
} 运行结果:

注:原文链接:https://blog.csdn.net/li_wen01/article/details/78990124


Linux时间戳转换成BCD码(转载)的更多相关文章

  1. Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间

    ylbtech-Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间 1.返回顶部 1. Java 实例 - 时间戳转换成时间  Java 实例 以下实例演示 ...

  2. unix时间戳转换成标准时间(c#)

    //---unix时间戳转换成标准时间(c#)---//     /*     string timeStamp = "1144821796";     DateTime dtSt ...

  3. C#将unix时间戳转换成.net的DateTime类型的代码

    下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ...

  4. js中时间戳转换成时间格式

    js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...

  5. C# 13位时间戳转换成标准时间C#代码

    原地址:https://www.cnblogs.com/yixuehan/p/5559244.html /// <summary> /// 时间戳转换成标准时间 /// </summ ...

  6. js将时间戳转换成日期格式-陈远波

    var timestamp =1539598555000;//时间戳 //时间戳转换成time格式function timestampToTime(timestamp) { var date = ne ...

  7. vue element-ui表格里时间戳转换成时间显示

    工作中遇到后台给的表格数据里时间是一个13位的时间戳,需要转换成时间显示在表格里, 可以用element-ui表格自带的:formatter函数,来格式化表格内容: // 时间戳转换成时间 // 使用 ...

  8. 时间戳转换成日期的js

    在项目开发过程中,我们常常需要把时间戳转换成日期.下面这个是我一直使用的js方法,希望能帮助到有需要的朋友.大家如果有更好的方法,请多多指教! js代码如下: //时间戳转换成日期 function ...

  9. javascript时间戳转换成指定格式的日期

    //时间戳转换成指定格式的日期DateTool.IntDatetimeTo = function(time, format){    var testDate = new Date(time);    ...

随机推荐

  1. redis目前最好用的客户端推荐

  2. 第八周博客作业 <西北师范大学| 周安伟>

    第八周博客作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求博客链接https://www.cnblogs.com/nwnu-daizh/p/10687 ...

  3. TZOJ 2392 Bounding box(正n边形三点求最小矩形覆盖面积)

    描述 The Archeologists of the Current Millenium (ACM) now and then discover ancient artifacts located ...

  4. Spring 事物Transaction

    日常开发中Spring 为我们提供了两种事物的定义方式 XML 配置 方式 :这种方式配置起来比较麻烦,但后期比较好进行维护 注解方式:配置起来比较方便,也是日常开发常用的: 我们这里进行第二种注解的 ...

  5. .net core中的分布式缓存和负载均衡

    通过减少生成内容所需的工作,缓存可以显著提高应用的性能和可伸缩性,缓存对不经常更改的数据效果最佳,缓存生成的数据副本的返回速度可以比从原始源返回更快.ASP.NET Core 支持多种不同的缓存,最简 ...

  6. 进军的socket

    在学socket有时候我们会遇到这种问题: 解决方法一: 在服务端中加入:severTCP.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) ...

  7. sqoop mysql导入hive 数值类型变成null的问题分析

    问题描述:mysql通过sqoop导入到hive表中,发现有个别数据类型为int或tinyint的列导入后数据为null.设置各种行分隔符,列分隔符都没有效果. 问题分析:hive中单独将有问题的那几 ...

  8. 设计模式学习心得<装饰器模式 Decorator>

    装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰类,用来包装 ...

  9. Linux内核基本装载卸载

    Linux由两部分组成:内核核心+内核模块核心的命名通常是vmlinuz-VERSION-release,模块的放置于/lib/modules/VERSION-release/ 一旦系统运行起来,内核 ...

  10. Finance财务软件(自定义报表专题)

    我们可以通过存储过程自定义报表 1.在菜单中新增报表菜单,这里的代码约束为报表对应存储过程名称,配置完成成后重启客户端生效 2.在自定义模板中适配存储过程入参,这里的功能键值为存储过程名称,字段键值与 ...