Linux时间戳转换成BCD码(转载)
#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(<);
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码(转载)的更多相关文章
- Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间
ylbtech-Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间 1.返回顶部 1. Java 实例 - 时间戳转换成时间 Java 实例 以下实例演示 ...
- unix时间戳转换成标准时间(c#)
//---unix时间戳转换成标准时间(c#)---// /* string timeStamp = "1144821796"; DateTime dtSt ...
- C#将unix时间戳转换成.net的DateTime类型的代码
下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ...
- js中时间戳转换成时间格式
js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...
- C# 13位时间戳转换成标准时间C#代码
原地址:https://www.cnblogs.com/yixuehan/p/5559244.html /// <summary> /// 时间戳转换成标准时间 /// </summ ...
- js将时间戳转换成日期格式-陈远波
var timestamp =1539598555000;//时间戳 //时间戳转换成time格式function timestampToTime(timestamp) { var date = ne ...
- vue element-ui表格里时间戳转换成时间显示
工作中遇到后台给的表格数据里时间是一个13位的时间戳,需要转换成时间显示在表格里, 可以用element-ui表格自带的:formatter函数,来格式化表格内容: // 时间戳转换成时间 // 使用 ...
- 时间戳转换成日期的js
在项目开发过程中,我们常常需要把时间戳转换成日期.下面这个是我一直使用的js方法,希望能帮助到有需要的朋友.大家如果有更好的方法,请多多指教! js代码如下: //时间戳转换成日期 function ...
- javascript时间戳转换成指定格式的日期
//时间戳转换成指定格式的日期DateTool.IntDatetimeTo = function(time, format){ var testDate = new Date(time); ...
随机推荐
- redis目前最好用的客户端推荐
- 第八周博客作业 <西北师范大学| 周安伟>
第八周博客作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求博客链接https://www.cnblogs.com/nwnu-daizh/p/10687 ...
- TZOJ 2392 Bounding box(正n边形三点求最小矩形覆盖面积)
描述 The Archeologists of the Current Millenium (ACM) now and then discover ancient artifacts located ...
- Spring 事物Transaction
日常开发中Spring 为我们提供了两种事物的定义方式 XML 配置 方式 :这种方式配置起来比较麻烦,但后期比较好进行维护 注解方式:配置起来比较方便,也是日常开发常用的: 我们这里进行第二种注解的 ...
- .net core中的分布式缓存和负载均衡
通过减少生成内容所需的工作,缓存可以显著提高应用的性能和可伸缩性,缓存对不经常更改的数据效果最佳,缓存生成的数据副本的返回速度可以比从原始源返回更快.ASP.NET Core 支持多种不同的缓存,最简 ...
- 进军的socket
在学socket有时候我们会遇到这种问题: 解决方法一: 在服务端中加入:severTCP.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) ...
- sqoop mysql导入hive 数值类型变成null的问题分析
问题描述:mysql通过sqoop导入到hive表中,发现有个别数据类型为int或tinyint的列导入后数据为null.设置各种行分隔符,列分隔符都没有效果. 问题分析:hive中单独将有问题的那几 ...
- 设计模式学习心得<装饰器模式 Decorator>
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰类,用来包装 ...
- Linux内核基本装载卸载
Linux由两部分组成:内核核心+内核模块核心的命名通常是vmlinuz-VERSION-release,模块的放置于/lib/modules/VERSION-release/ 一旦系统运行起来,内核 ...
- Finance财务软件(自定义报表专题)
我们可以通过存储过程自定义报表 1.在菜单中新增报表菜单,这里的代码约束为报表对应存储过程名称,配置完成成后重启客户端生效 2.在自定义模板中适配存储过程入参,这里的功能键值为存储过程名称,字段键值与 ...