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 时间转换问题总结
这几天开发中遇到时间转换出错的问题,特总结如下: ========================================================================= ...
随机推荐
- C#中的9个“黑魔法”
C#中的9个"黑魔法"与"骚操作" 我们知道C#是非常先进的语言,因为是它很有远见的"语法糖".这些"语法糖"有时过于好 ...
- OSG开发笔记(三十二):深入理解相机视口、制作支持与主视图同步变换旋转的相机HUD
前言 深入理解相机视口,摸索相机视口旋转功能,背景透明或者不透明. 本篇,实现了一个左下角旋转HUD且背景透明的相机视口. Demo HUD相机的坐标 ...
- 高性能计算-gemm-openmp效率测试(10)
1. 目标 设计一个程序,使用OpenMP并行化实现矩阵乘法.给定两个矩阵 A 和 B,矩阵大小均为1024*1024,你的任务是计算它们的乘积 C. 要求: (1).使用循环结构体的知识点,包括fo ...
- 在matlab中使用遗传算法执行最优化
遗传算法是一种通用的最优化方法,具体原理可以看:遗传算法详解与实验.下面记录在Matlab中如何使用遗传算法来做优化. 用法 调用方式如下: 1 x = ga(fun,nvars) 2 x = ga( ...
- 使用 Antlr 处理文本
高 尚 (gaoshang1999@163.com), 软件工程师, 中国农业银行软件开发中心 简介: Antlr 是一个基于 Java 开发的功能强大的语言识别工具,其主要功能原本是用于识别编程语言 ...
- vue之vuex使用
如图所示,它是一个程序里面的状态管理模式,它是集中式存储所有组件的状态的小仓库,并且保持我们存储的状态以一种可以预测的方式发生变化.对于可以预测,现在我不多做说明,相信在看完这篇文章之后,你就会有自己 ...
- B+树原理详解
B树 与 B+树 我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引.要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结构.B+ 树就是从他们 ...
- [笔记]博弈论 & SG 函数
一直没学结果今天被创了. 一些定义: \(\text{mex}\{S\}\):集合 \(S\) 中最小的没有出现过的非负整数. \(\oplus\):按位异或.也叫做 \(\text{xor}\). ...
- C++中的多线程及其之后的周边
多线程 参考:https://zhuanlan.zhihu.com/p/613630658 平台差异:Linux 与 Windows,跨平台方案 在Linux上,有pthread的使用,而C++ 11 ...
- uni-app小程序(快手、抖音)getCurrentPages使用坑位记录2
前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,现公司项目就是主推uni-app,我主要负责抖音和快 ...