单片机间隔天数

单片机间隔天数,第1张

单片机间隔天数计算方法如下:

1、获取起始日空氏期和结束日期的时间戳(派搭以秒为单位)。

2、计算两个时间戳之间的差值,即结束日期的时间戳减去起始日期的时间尘亏拿戳。

3、将差值转换为天数,即将差值除以一天的秒数(24小时x60分钟x60秒)。

仔细研究野火的STM32F103开发板的实时时钟例程,就会学到很塌渣多东西

这个单片机的实时时钟只是一个简单的32位计数器,计的是秒,要换算成年月日时分秒,完全是要根据阳历的闰年规律计算的,先找一个基准日期,称为时间戳

然后根据现今时间与时间戳的差值(以S为单位)计算当前的年月日时分秒钟星期几,然后根据表格查每年的农历有几个月,几个大小月,闰月是个月,春节在哪一天,当前日期是在春节前还是春节拆衫旦后,就能计算出农历日期,然后计算24节气,由于24节是按阳历年划分的,而阳历的一年只有365天和366天两种,因此24节的阳历日期基本固定,找一个标准,然后记下各个节气和标准日期的正负误差就可以确旅扰定当前节气的阳历日期了,还有天干地支,只要有一个基准,求12和10的余数,推算很容易的

#include<time.h>

int main()

{

time_t timep

struct tm *p

time (&timep)

p=gmtime(&timep)

printf("%d\n",p->tm_sec)/*获取当前秒*/

printf("%d\n",p->tm_min)/*获取当前分*/

printf("%d\n",8+p->tm_hour)/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\n",p->tm_mday)/*获取当前月份日数,范围是1-31*/

printf("%d\n",1+p->tm_mon)/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\n",1900+p->tm_year)/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\n",p->tm_yday)/*从今年1月1日算起至今的天数,范围为0-365*/

}

拓展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。洞模C语言的设计目标是提供一种能以简易的方式编译、处理低级扒悄存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平纳此缓台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

参考资料:C语言_百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11966953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存