CP56Time2A时间转换
* CP56Time2A时间格式

- 该时标格式使用7个字节来表示时间信息,上图的表中体现为——从最左侧8所在的行开始,到下面56所在的行,共7行。每一行表示一个字节,每行从右向左依次是该字节的第一位(最低位)、第二位....第八位(最高位)。
- 该时标格式使用56个二进制数(56bit)存储时间信息,这56个数分别有对应的序号(1-56)。Milliseconds占用了两个字节;尖括号中的0——59999即时间信息中秒的范围是0-59999ms(0.000~59.999s)。
// cp56time2a时间格式
typedef union
{
// 低7字节是七个八位位组二进制时间
uint64_t Cp56Time; // uint8_t Cp56Time[7];
struct
{
uint16_t msec;
uint8_t min : 6;
uint8_t res1 : 1;
uint8_t iv : 1;
uint8_t hour : 5;
uint8_t res2 : 2;
uint8_t su : 1;
uint8_t mday : 5;
uint8_t wday : 3;
uint8_t month : 4;
uint8_t res3 : 4;
uint8_t year : 7;
uint8_t res4 : 1;
}Compts;
}Cp56Time2a;
// 本地时间结构体
typedef struct
{
uint8_t year;
uint8_t month;
uint8_t mday;
uint8_t hour;
uint8_t min;
uint16_t msec;
}Time;
#pragma pack(pop)
Time time = {0}; // 定义一个保存时间的结构体
Cp56Time2a cp56time2a = {0}; // 定义一个cp56time2a的结构体
// cp56time2a 转本地时间
static uint64_t Cp56time2aToLocalTime(uint64_t cp56time2atime)
{
printf("\n\t Year : %d \n\r", cp56time2a.Compts.year);
printf("\n\t month : %d \n\r", cp56time2a.Compts.month);
printf("\n\t mday : %d \n\r", cp56time2a.Compts.mday);
printf("\n\t wday : %d \n\r", cp56time2a.Compts.wday);
printf("\n\t hour : %d \n\r", cp56time2a.Compts.hour);
printf("\n\t min : %d \n\r", cp56time2a.Compts.min);
printf("\n\t msec : %d \n\r", cp56time2a.Compts.msec);
return 0;
}
// 本地时间转cp56time2a格式
uint64_t LocalTimeToCp56Time2a(const Time *time)
{
cp56time2a.Compts.year = time->year;
cp56time2a.Compts.month = time->month;
cp56time2a.Compts.mday = time->month;
cp56time2a.Compts.hour = time->hour;
cp56time2a.Compts.min = time->min;
cp56time2a.Compts.msec = time->msec;
return cp56time2a.Cp56Time;
}
int main(void)
{
time.year = 23;
time.month = 12;
time.mday = 12;
time.hour =18;
time.min = 30;
time.msec = 40;
printf("\n\t cp56time2a 0X:%llX \n\r", LocalTimeToCp56Time2a(&time));
return 0;
}

CP56Time2A时间转换的更多相关文章
- [jquery]将当前时间转换成yyyymmdd格式
如题: function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate ...
- MySQL 日期、时间转换函数
MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...
- java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间
对于我的脑子,我已经服气了...写了N遍的东西,就是记不住...既然记不住那就记下来... 利用java获取当前的时间(String类型,年-月-日 时:分:秒) //我要获取当前的日期 Date d ...
- inner join ,left join ,right join 以及java时间转换
1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1 a12 a23 a3表bbid bdate1 ...
- Python基本时间转换
时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...
- Date类型时间转换
/* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...
- unix环境C编程之日期时间转换
1.理清概念 1.1.日历时间: 含义:国际标准时间1970年1月1日00:00:00以来经过的秒数. 数据类型:time_t.实际上是long的别名. 1.2.tm结构时间: 含义:结构 ...
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Js 处理将时间转换 “年-月-日”
将时间 \/Date(1432828800000+0800)\/" 转换成:“年-月-日” //时间转换function ChangeDateFormat(val) { if (v ...
- Java 时间转换问题总结
这几天开发中遇到时间转换出错的问题,特总结如下: ========================================================================= ...
随机推荐
- 异常断链的惨痛经历!拯救Air780EP模块紧急项目
必须要吐槽一下:最近被老板驱使,要用Air780EP模块做几个紧急项目... 就怕紧急项目,时间紧任务重,遇到了一些棘手问题,可把我给折腾死了-- 这里把遇到的问题,排查记录下来,看能不能帮到因遇 ...
- 命运的X
命运的X cjx 生成函数强. 思路 首先,设 \(f_i\) 为添加第 \(i\) 项后满足条件的概率,\(g_i\) 任意添加至第 \(i\) 项的概率. 我们要求的答案: \[ans=\sum_ ...
- 4、oracle进程讲解
进程结构 server process服务器进程 前台进程(foreground process):server process(服务器进程) 用户连接到数据库实例以后,暂时可以认为是:对每一个用户连 ...
- VMware与Windows主机之间复制粘贴
其实就是安装VMware Tools,但不知道为什么我的VMware Workstation不能安装VMware Tools,记得之前有次安装过,但是失败了. 基于apt-get命令下载安装其实是更好 ...
- PHP中的特殊用法
开发中查阅别人代码的时候, 总能发现新大陆, 各种骚操作与奇技淫巧, 有些还是值得借鉴的,自然要学习一番啦 1.fastcgi_finish_request 此函数冲刷(flush)所有响应的数据给客 ...
- SpringBoot+logback 日志打印脱敏,正常获取对象不受影响
添加依赖 注意:springboot版本2.7.0 <dependency> <groupId>org.slf4j</groupId> <artifactId ...
- sql 依据时间间隔分组,获取第一条数据
时序数据的数据量比较大,抛去异常点外,变化相对比较有线性规律,业务上需要对结果进行抽取显示. 原始数据时序标签(部分示例) 根据时间字段,计算时间字段和指定时间的时间戳差值,然后除以固定间隔(示例中间 ...
- PM-企业数字化转型,数据治理是关键
企业数字化转型是大势所趋,通过数据治理.数据平台建设.数据分析与建模,把数据变成服务,使数据能在企业内顺畅流动起来,为企业带来巨大的价值.数据是企业数字化转型的重要基础. 数据能创造价值,但数 ...
- legend不显示
legend写了对应的data,在series需要填写对应的name
- IOS多线程之NSOperation(1)
IOS多线程之NSOperation(1) NSOperation 是 OC 语言中基于 GCD 的面向对象的封装: 提供了一些用 GCD 不好实现的功能: 线程的生命周期由系统自动管理. NSOpe ...