当前位置: 首页 > article >正文

wow-time时间操作说明

wow-time文件说明项目地址https://github.com/wow-iot3/wow_linux_eval本文件的功能主要用于处理时间操作主要涉及时间信息获取(普通格式与cp56格式)、设置时间、格式转换、获取时间戳、获取毫秒数获取时间信息int wow_time_get_cp56(CP56Time2a_T *ptInfo) { int ret -1; time_t utc; struct timeval tv; struct timezone tz; struct tm *now; ret time(utc); CHECK_RET_VAL_P_A(ret ! -1,-1,time faild\n); now localtime(utc); CHECK_RET_VAL_P_A(now,-1,localtime faild\n); //获取毫秒 ret gettimeofday(tv, tz); CHECK_RET_VAL_P_A(ret 0,-1,gettimeofday faild\n); ptInfo-year now-tm_year 1900-2000; ptInfo-mon now-tm_mon 1; ptInfo-mon_day now-tm_mday; ptInfo-hour now-tm_hour; ptInfo-min now-tm_min; time_t msec now-tm_sec*1000 tv.tv_usec/1000; ptInfo-milli_sec_h (msec 0x08) 0x00FF; ptInfo-milli_sec_l msec 0x00FF; return 0; }设置时间int wow_time_set_cp56(CP56Time2a_T *ptInfo) { time_t timep; struct tm tm; struct timeval tv; time_t msec (ptInfo-milli_sec_h 8) ptInfo-milli_sec_l; tm.tm_sec msec/1000; tm.tm_min ptInfo-min; tm.tm_hour ptInfo-hour; tm.tm_mday ptInfo-mon_day; tm.tm_mon ptInfo-mon - 1; // 月份从0开始所以需要减去1 tm.tm_year ptInfo-year 2000 - 1900;// 年份需要减去1900 tm.tm_isdst -1; // 表示不考虑夏令时 timep mktime(tm); tv.tv_sec timep; tv.tv_usec 0; int ret settimeofday(tv, NULL); CHECK_RET_VAL_P_A(ret 0,-1,settimeofday faild\n); return 0; }将毫秒转换为固定格式int wow_time_msec_to_cp56(uint64_t nMsec,CP56Time2a_T* ptInfo) { int i 0; CHECK_RET_VAL_P(ptInfo,-PARAM_INPUT_STRUCT_IS_NULL,param input struct invalid!\n); memset(ptInfo,0,sizeof(CP56Time2a_T)); ptInfo-milli_sec_l (uint8_t)(nMsec%60000); ptInfo-milli_sec_h (uint8_t)((nMsec%60000)8); uint64_t sec_time nMsec/60000; ptInfo-min(uint8_t)(sec_time % 60);//计算当分前钟数 sec_time sec_time/60; ptInfo-hour(uint8_t)(sec_time % 24);//计算当前小时数 sec_time sec_time/24; //以4年为基准计算 ptInfo-year (uint16_t)(sec_time/1461L)*4 1970 - 2000; sec_time sec_time%1461; //校正闰年影响的年份 while(1){ int days 365; if ((ptInfo-year 3) 0) days 366; if (sec_time days) break; ptInfo-year; //计算当前年份 sec_time - days; } sec_time sec_time1; //ptInfo-week (uint8_t)((sec_time4)%7); //校正闰年的月份 if((ptInfo-year 3) 0) { for(i 12;i 0;i--){ if(gs_mon_days[1][i-1] sec_time){ ptInfo-mon (uint8_t)i; //计算当前月份 ptInfo-mon_day (uint8_t)(sec_time - gs_mon_days[1][i-1]); //计算当前日份 break; } } }else{ for(i 12;i 0;i--){ if(gs_mon_days[0][i-1] sec_time){ ptInfo-mon (uint8_t)i; //计算当前月份 ptInfo-mon_day (uint8_t)(sec_time - gs_mon_days[0][i-1]); //计算当前日份 break; } } } return 0; } void wow_time_msec_to_stamp(uint64_t pMsec,char pcBuff[20]) { struct tm now_tm; time_t now_sec pMsec/1000; localtime_r(now_sec, now_tm); strftime(pcBuff, 20, %Y-%m-%d %H:%M:%S, now_tm); }将固定格式转换为毫秒int wow_time_cp56_to_msec(CP56Time2a_T* ptInfo,uint64_t* pMsec) { int i 0; CHECK_RET_VAL_P(ptInfo,-PARAM_INPUT_STRUCT_IS_NULL,param input struct invalid!\n); uint64_t msec 0; // 计算当前年秒数 msec (ptInfo-year 2000 - 1970) * 365 * 24 * 3600; for(i 1970; i ptInfo-year 2000; i) { if(rtc_data_leap(i)) { msec 24 * 3600; } } //计算当前月秒数 msec gs_mon_days[rtc_data_leap(ptInfo-year)][ptInfo-mon-1]* 24 * 3600; //计算当前日秒数 msec (ptInfo-mon_day - 1) * 24 * 3600; //计算当前时间段秒数 msec ptInfo-hour * 3600 ptInfo-min * 60; /// !!!根据需求添加 //msec - SEC_TIME_ZONE; *pMsec msec*1000 ptInfo-milli_sec_h*256 ptInfo-milli_sec_l; return 0; }获取当前毫秒数int64_t wow_time_get_msec() { struct timeval tv {0}; gettimeofday(tv, NULL); int64_t sec tv.tv_sec; int64_t msec sec * 1000 tv.tv_usec / 1000; return msec; }

相关文章:

wow-time时间操作说明

wow-time文件说明 项目地址:https://github.com/wow-iot3/wow_linux_eval本文件的功能主要用于处理时间操作,主要涉及时间信息获取(普通格式与cp56格式)、设置时间、格式转换、获取时间戳、获取毫秒数; 获取时间信息 int wow_time_get_cp56(C…...

探秘 ESCRCPY:一款高效便捷的无线屏幕镜像工具

探秘 ESCRCPY:一款高效便捷的无线屏幕镜像工具 【免费下载链接】escrcpy 📱 Graphical Scrcpy to display and control Android, devices powered by Electron. | 使用图形化的 Scrcpy 显示和控制您的 Android 设备,由 Electron 驱动。 项目…...

100元打造便携显示器:PocketLCD完整物料清单与采购指南

100元打造便携显示器:PocketLCD完整物料清单与采购指南 【免费下载链接】PocketLCD 带充电宝功能的便携显示器 项目地址: https://gitcode.com/gh_mirrors/po/PocketLCD PocketLCD是一款带充电宝功能的便携显示器开源项目,让你花最少的成本拥有一…...

CGAL计算几何算法库完全指南:从入门到精通的终极教程

CGAL计算几何算法库完全指南:从入门到精通的终极教程 【免费下载链接】cgal The public CGAL repository, see the README below 项目地址: https://gitcode.com/gh_mirrors/cg/cgal CGAL(Computational Geometry Algorithms Library)…...

WHAT - 浏览器缓存机制系列(二)强缓存、协商缓存和启发式缓存

目录 一、介绍 二、强缓存 三、协商缓存 三、html & js 缓存策略 四、启发式缓存 启发式缓存什么时候发生 浏览器的推算规则 如果没有 Last-Modified DevTools 里怎么看出是启发式缓存 启发式缓存的风险 1. 浏览器行为不一致 2. 更新不可控 3. CDN 行为不同 总结 今天主要介…...

如何使用CoreRT:.NET Core终极AOT编译优化指南

如何使用CoreRT:.NET Core终极AOT编译优化指南 【免费下载链接】corert This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain. 项目地址: https:…...

如何快速上手LedisDB:高性能NoSQL数据库的完整指南

如何快速上手LedisDB:高性能NoSQL数据库的完整指南 【免费下载链接】ledisdb A high performance NoSQL Database Server powered by Go 项目地址: https://gitcode.com/gh_mirrors/le/ledisdb LedisDB是一个由Go语言驱动的高性能NoSQL数据库服务器&#xff…...

mmdetection目标检测API封装:Python SDK开发全攻略

mmdetection目标检测API封装:Python SDK开发全攻略 【免费下载链接】mmdetection open-mmlab/mmdetection: 是一个基于 PyTorch 的人工智能物体检测库,支持多种物体检测算法和工具。该项目提供了一个简单易用的人工智能物体检测库,可以方便地…...

如何在Linux终端使用sc-im?新手入门的完整指南

如何在Linux终端使用sc-im?新手入门的完整指南 【免费下载链接】sc-im sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal 项目地址: https://gitcode.com/gh_mirrors/sc/sc-im sc-im是一款功能强大的终端电子表格…...

TOMs插件生态系统:10个必装的官方认证扩展推荐

TOMs插件生态系统:10个必装的官方认证扩展推荐 【免费下载链接】TOMs TOMs is a fully open-source, high-performance, systematic, plugin-oriented, and scenario-agnostic general-purpose development framework. 项目地址: https://gitcode.com/gh_mirrors…...

探索未来桌面体验:AeroSpace Beta,专为Mac打造的高级窗口管理器

探索未来桌面体验:AeroSpace Beta,专为Mac打造的高级窗口管理器 【免费下载链接】AeroSpace AeroSpace is an i3-like tiling window manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ae/AeroSpace 在数字化的世界里&#xff0…...

如何快速入门Wireshark?Computer-Networking-A-Top-Down-Approach-NOTES实验教程

如何快速入门Wireshark?Computer-Networking-A-Top-Down-Approach-NOTES实验教程 【免费下载链接】Computer-Networking-A-Top-Down-Approach-NOTES 《计算机网络-自顶向下方法(原书第6版)》编程作业,Wireshark实验文档的翻译和解答。 项目…...

python-docx常见问题解答:新手必知的15个错误和解决方案

python-docx常见问题解答:新手必知的15个错误和解决方案 【免费下载链接】python-docx Create and modify Word documents with Python 项目地址: https://gitcode.com/gh_mirrors/py/python-docx python-docx是一个强大的Python库,用于创建和修改…...

智动群剪视频矩阵引

链接:https://pan.quark.cn/s/358832aed834智动群剪视频矩阵引擎,批量制作视频软件软件使用步骤:1.加入素材(手动添加或复制素材到对应目录) 2.勾选需要用到的素材 3.选择功能,修改数值 4.一键开始制作视频…...

AI变声器

链接:https://pan.quark.cn/s/fa61e826ee5e...

AI变声器+

链接:https://pan.quark.cn/s/9b9dd9ddd66d...

终极指南:Upspin核心架构完全解析——三大服务如何构建全球命名系统

终极指南:Upspin核心架构完全解析——三大服务如何构建全球命名系统 【免费下载链接】upspin Upspin: A framework for naming everyones everything. 项目地址: https://gitcode.com/gh_mirrors/up/upspin Upspin是一个创新的全球命名系统框架,旨…...

Slurm高级特性详解:QoS、资源限制与作业优先级配置指南

Slurm高级特性详解:QoS、资源限制与作业优先级配置指南 【免费下载链接】slurm Slurm: A Highly Scalable Workload Manager 项目地址: https://gitcode.com/gh_mirrors/sl/slurm Slurm作为一款高度可扩展的工作负载管理器,提供了强大的作业调度和…...

为什么我的电脑不能升级Windows 11?终极兼容性检测工具深度解析

为什么我的电脑不能升级Windows 11?终极兼容性检测工具深度解析 【免费下载链接】WhyNotWin11 Detection Script to help identify why your PC is not Windows 11 Release Ready. Now Supporting Update Checks! 项目地址: https://gitcode.com/gh_mirrors/wh/Wh…...

Gorilla技术播客系列:与AI先驱探讨函数调用的未来

Gorilla技术播客系列:与AI先驱探讨函数调用的未来 【免费下载链接】gorilla Gorilla: An API store for LLMs 项目地址: https://gitcode.com/gh_mirrors/go/gorilla Gorilla作为LLM的API商店,正在引领函数调用技术的革新。本播客系列邀请AI领域先…...

目前最全的计算机视觉公开数据集汇总 持续更新 400+数据集

总计:47个类别,涵盖约400+个具体数据集 这47个类别基本覆盖了计算机视觉的全部主流研究领域,从底层图像处理(去噪/增强/修复)到中层视觉(检测/分割/跟踪),再到高层理解(识别/问答/推理),以及3D视觉、多模态学习和特殊应用场景。 目录 一、通用视觉基础数据集(分…...

终极Bedrock持续集成指南:如何自动化测试和部署WordPress项目

终极Bedrock持续集成指南:如何自动化测试和部署WordPress项目 【免费下载链接】bedrock WordPress boilerplate with Composer, easier configuration, and an improved folder structure 项目地址: https://gitcode.com/gh_mirrors/be/bedrock Bedrock是一个…...

如何使用ATF快速开发Windows工具:完整入门指南

如何使用ATF快速开发Windows工具:完整入门指南 【免费下载链接】ATF Authoring Tools Framework (ATF) is a set of C#/.NET components for making tools on Windows. ATF has been in continuous development in Sony Computer Entertainments (SCE) Worldwide St…...

ubuntu软件源公钥配置例子 gpg

在旧版本(23.10 及以前)中,所有源都写在一个大文件 /etc/apt/sources.list 里。 在新版本中: 主文件废弃/简化:/etc/apt/sources.list 现在通常只包含一行注释,或者指向新目录。 新位置:官方源被…...

如何在ToaruOS上畅玩经典游戏:从Pong到扫雷的完整指南

如何在ToaruOS上畅玩经典游戏:从Pong到扫雷的完整指南 【免费下载链接】toaruos A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highli…...

MessagePack-CSharp未来发展方向:终极路线图与功能规划指南

MessagePack-CSharp未来发展方向:终极路线图与功能规划指南 【免费下载链接】MessagePack-CSharp 项目地址: https://gitcode.com/gh_mirrors/mes/MessagePack-CSharp MessagePack-CSharp作为高效的二进制序列化库,正通过持续的技术创新和功能优…...

PyCaret批量预测:处理大规模推理任务的终极指南

PyCaret批量预测:处理大规模推理任务的终极指南 【免费下载链接】pycaret An open-source, low-code machine learning library in Python 项目地址: https://gitcode.com/gh_mirrors/py/pycaret PyCaret是一个开源的低代码机器学习库,它通过简化…...

weixin227基于微信小程序的社区门诊管理系统php(文档+源码)_kaic

第5章 系统详细设计5.1用户功能模块(微信端) 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作;如图5-1所示。图5-1用户注册界面图用户登录,用户通过登录页面输入账号和密…...

weixin226基于微信小程序的新生报到系统的设计与实现ssm(文档+源码)_kaic

第5章 系统实现进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于…...

weixin225基于微信小程序的汽车销售系统的设计与实现springboot(文档+源码)_kaic

第5章 系统实现进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于…...