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); ...
随机推荐
- Django之CBV\FBV
FBV(function base views) 就是在视图里使用函数处理请求. 写一个FBV的实例:在views中代码 :就是写了个函数 def book(request): ''' :param ...
- 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK
3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录: $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录: $ un ...
- 快速排序的两种实现方法(js)
快速排序的基本思想:通过一趟排序,将待排记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对着两部分记录继续进行排序,以达到整个序列有序的目的.----------- ...
- 在centos7 部署bbr
How to Deploy Google BBR on CentOS 7 Published on: Thu, Jan 5, 2017 at 6:34 pm EST CentOS Linux Guid ...
- 配置Linux客户端使用socks5代理上网
配置Linux客户端使用socks5代理上网 背景 有访问google或者其他海外网站需求的同学可能大都用过或者听过ss,在Windows.Mac.Android.IOS都有现成可用的客户端来协助 ...
- centos 下使用vscode 调试egg.js 注意事项
这两天在centos下,直接用vscode运行egg.js的例子.遇到个问题就是当安装了vscode-egg插件,会遇到一个现象.就是同样的代码,Windows下调试可以顺利进行,但是centos有时 ...
- python 09 文件操作
一 流程: #1. 打开文件,得到文件句柄并赋值给一个变量 #2. 通过句柄对文件进行操作 #3. 关闭文件 二 例子 #1. 打开文件,得到文件句柄并赋值给一个变量f=open('a.txt','r ...
- sparse_matrix
(1)ndarray 与 scipy.sparse.csr.csr_matrix 的互转 import numpy as npfrom scipy import sparse 1.1 ndarry 转 ...
- BUAA_OO第一单元总结
OO第一单元总结 目录 作业总体分析 代码结构分析 遇到的bug问题 找到bug的方法 结语 一.作业总体分析 尽管这个单元三次作业都是表达式求导,但我认为每次作业的侧重点是不同的. 对于第一次 ...
- mysql编译好的简单安装
.创建mysql用户的账号 useradd mysql .下载mysql编译好的压缩包 .安装mysql yum -y install numactl libaio 安装依赖库 tar -zxvf m ...