当前位置:首页 > 教育培训 >

小学时间单位换算表(时间单位换算表大全图片)

来源:原点资讯(www.yd166.com)时间:2023-10-24 19:16:05作者:YD166手机阅读>>

这篇文章介绍 标准时间与秒单位,秒单位与标准时间的转换方式,这份代码一般用在嵌入式单片机里比较多,比如:设置RTC时钟的时间,从RTC里读取秒单位时间后,需要转换成标准时间显示。

小学时间单位换算表,时间单位换算表大全图片(1)

下面列出的两个例子里,注释和思路都写了,思路和实现办法在代码注释里。

1. 时间转换-秒与标准时间的转换

1.时间转换(秒与标准时间的转换) (1)函数1: 将秒单位时间转为标准时间。 --RTC实时时钟--->秒为单位--->每秒钟cnt ; 237562867493 -----xxxx年xx月xx日xx时xx分xx秒 星期x。

示例代码: (模拟电子钟) #include <stdio.h> #include <string.h> //字符串处理 #include <Windows.h> //时间单位 int year,mon,mdeay,hour,min,t_Sec; //闰年的月份 int mon_r[12]={31,29,31,30,31,30,31,31,30,31,30,31}; //平年的月份 int mon_p[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned int TimeToSec(int year,int mon,int mdeay,int hour,int min,int sec); void SecToTime(unsigned int sec); int main(void) { //将标准时间转为秒单位时间 (设置时间) unsigned int time=TimeToSec(2018,6,6,16,40,20); while(1) { time ; Sleep(1000); //睡眠1秒时间。 单位是ms SecToTime(time); printf("%d-%d-%d %d:%d:%d\n",year,mon,mdeay,hour,min,t_sec); } return 0; } /* 函数功能: 判断平年和闰年 函数返回值: 1表示闰年 0表示平年 */ int GetYearStat(int year) { if((year%4==0&&year0!=0)||year@0==0)return 1; //闰年 return 0; //平年 } /* 将秒单位时间转为标准时间 时间基准点: 1970年1月1日0时0分0秒 思想: 减法 */ void SecToTime(unsigned int sec) { int i; year=1970; //基准年份 /*1. 计算过了多少年*/ while(sec>=365*24*60*60) //秒还够一年 { if(GetYearStat(year)) //闰年 { if(sec>366*24*60*60) { sec-=366*24*60*60; //减去一年 year ; //年份累加 } else { break; } } else { sec-=365*24*60*60; //减去一年 year ; //年份累加 } } /*2. 计算过了多少月*/ mon=1; if(GetYearStat(year)) //闰年 { for(i=0; i<12; i ) { if(sec>=mon_r[i]*24*60*60) //够一个月 { sec-=mon_r[i]*24*60*60; //减去一个月 mon ;//增加一个月 } else break; } } else { for(i=0; i<12; i ) { if(sec>=mon_p[i]*24*60*60) //够一个月 { sec-=mon_p[i]*24*60*60; //减去一个月 mon ;//增加一个月 } else break; } } /*3. 计算过了多少天*/ mdeay=1; while(sec>=24*60*60) //判断是否够一天 { sec-=24*60*60; mdeay ; } /*4. 过了多少小时*/ hour=0; while(sec>=60*60) { sec-=60*60; hour ; } /*5. 过了多少分钟*/ min=0; while(sec>=60) { sec-=60; min ; } /*6. 过了多少秒*/ t_sec=sec; } /* 将标准时间转为秒单位时间 思路: 全程加法 时间基准点: 1970年1月1日0时0分0秒 返回值: 得到的秒单位时间 */ unsigned int TimeToSec(int year,int mon,int mdeay,int hour,int min,int sec) { int i; int sec_cnt=0; //记录秒单位的时间 /*1. 转换年*/ for(i=1970; i<year; i ) { if(GetYearStat(i)) //闰年 { sec_cnt =366*24*60*60; } else { sec_cnt =365*24*60*60; } } /*2. 转换月*/ for(i=0; i<mon-1; i ) { if(GetYearStat(year)) //闰年 { sec_cnt =mon_r[i]*24*60*60; } else { sec_cnt =mon_p[i]*24*60*60; } } /*3. 转换天数*/ sec_cnt =(mdeay-1)*24*60*60; /*4. 转换小时*/ sec_cnt =hour*60*60; /*5. 转换分钟*/ sec_cnt =min*60; /*6. 转换秒*/ sec_cnt =sec; return sec_cnt; //返回秒单位时间 } 完整的代码(添加星期): #include <stdio.h> #include <string.h> //字符串处理 #include <Windows.h> //时间单位 int year,mon,mdeay,hour,min,t_sec,week; //闰年的月份 int mon_r[12]={31,29,31,30,31,30,31,31,30,31,30,31}; //平年的月份 int mon_p[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned int TimeToSec(int year,int mon,int mdeay,int hour,int min,int sec); void SecToTime(unsigned int sec); int GetWeek(unsigned int sec); int main(void) { //将标准时间转为秒单位时间 (设置时间) unsigned int time=TimeToSec(2018,9,1,16,40,20); while(1) { time ; Sleep(1000); //睡眠1秒时间。 单位是ms SecToTime(time); week=GetWeek(time); //获取星期 printf("%d-%d-%d %d:%d:%d 星期%d\n",year,mon,mdeay,hour,min,t_sec,week); } return 0; } /* 函数功能: 判断平年和闰年 函数返回值: 1表示闰年 0表示平年 */ int GetYearStat(int year) { if((year%4==0&&year0!=0)||year@0==0)return 1; //闰年 return 0; //平年 } /* 将秒单位时间转为标准时间 时间基准点: 1970年1月1日0时0分0秒 思想: 减法 */ void SecToTime(unsigned int sec) { int i; year=1970; //基准年份 /*1. 计算过了多少年*/ while(sec>=365*24*60*60) //秒还够一年 { if(GetYearStat(year)) //闰年 { if(sec>366*24*60*60) { sec-=366*24*60*60; //减去一年 year ; //年份累加 } else { break; } } else { sec-=365*24*60*60; //减去一年 year ; //年份累加 } } /*2. 计算过了多少月*/ mon=1; if(GetYearStat(year)) //闰年 { for(i=0; i<12; i ) { if(sec>=mon_r[i]*24*60*60) //够一个月 { sec-=mon_r[i]*24*60*60; //减去一个月 mon ;//增加一个月 } else break; } } else { for(i=0; i<12; i ) { if(sec>=mon_p[i]*24*60*60) //够一个月 { sec-=mon_p[i]*24*60*60; //减去一个月 mon ;//增加一个月 } else break; } } /*3. 计算过了多少天*/ mdeay=1; while(sec>=24*60*60) //判断是否够一天 { sec-=24*60*60; mdeay ; } /*4. 过了多少小时*/ hour=0; while(sec>=60*60) { sec-=60*60; hour ; } /*5. 过了多少分钟*/ min=0; while(sec>=60) { sec-=60; min ; } /*6. 过了多少秒*/ t_sec=sec; }2. 时间转换-标准时间转秒

(2)函数2: 将标准时间转为秒单位的时间。 2018年6月1日19点41分23秒----------xxxxxxx秒 闰年366,平年365。 区分: 每年二月份相差一天. 标准时间基准点: 1970年1月1日0时0分0秒。

/* 将标准时间转为秒单位时间 思路: 全程加法 时间基准点: 1970年1月1日0时0分0秒 返回值: 得到的秒单位时间 */ unsigned int TimeToSec(int year,int mon,int mdeay,int hour,int min,int sec) { int i; int sec_cnt=0; //记录秒单位的时间 /*1. 转换年*/ for(i=1970; i<year; i ) { if(GetYearStat(i)) //闰年 { sec_cnt =366*24*60*60; } else { sec_cnt =365*24*60*60; } } /*2. 转换月*/ for(i=0; i<mon-1; i ) { if(GetYearStat(year)) //闰年 { sec_cnt =mon_r[i]*24*60*60; } else { sec_cnt =mon_p[i]*24*60*60; } } /*3. 转换天数*/ sec_cnt =(mdeay-1)*24*60*60; /*4. 转换小时*/ sec_cnt =hour*60*60; /*5. 转换分钟*/ sec_cnt =min*60; /*6. 转换秒*/ sec_cnt =sec; return sec_cnt; } /* 函数功能: 根据秒单位时间获取星期 函数形参: 秒单位时间 返回值 :星期(1~7) */ int GetWeek(unsigned int sec) { int mdeay=sec/60/60/24; //将秒单位时间转为天数 switch(mdeay%7) { case 0: //星期4 return 4; break; case 1://星期5 return 5; break; case 2: //星期6 return 6; break; case 3://星期天 return 7; break; case 4://星期1 return 1; break; case 5://星期2 return 2; break; case 6: //星期3 return 3; break; default: break; } }



栏目热文

如何在微信朋友圈发冒泡短视频(企业微信如何发朋友圈)

如何在微信朋友圈发冒泡短视频(企业微信如何发朋友圈)

今天继续发放10万张芝麻科技讯专属虎年红包封面,将下方图片保存到手机,然后打开微信的扫一扫即可直接领取。微信朋友圈虎年气...

2023-10-24 18:47:00查看全文 >>

好久没发朋友圈怎么冒泡(适合晚上发的朋友圈文案)

好久没发朋友圈怎么冒泡(适合晚上发的朋友圈文案)

很久没发朋友圈的你,是时候冒个泡了!如果你还在为国庆朋友圈发什么而苦思冥想,不妨看看这个,国庆朋友圈文案,我都给你想好了...

2023-10-24 18:55:54查看全文 >>

微信朋友圈爆点设置(微信朋友圈位置)

微信朋友圈爆点设置(微信朋友圈位置)

大家好,我是诺姐。接下来的几天里,继续给大家分享社群相关干货,记得关注收看哦。如今,越来越多的企业和个人开始意识到社群的...

2023-10-24 18:42:51查看全文 >>

微信朋友发的视频冒泡怎么拍的(微信发的视频怎么看谁拍的)

微信朋友发的视频冒泡怎么拍的(微信发的视频怎么看谁拍的)

前段时间微信进行了一个超级大更新,在界面变化的同时也新增了一个重要又好玩的功能,叫做【时刻视频】,很多小伙伴还没有玩过,...

2023-10-24 18:42:21查看全文 >>

微信朋友圈怎么连拍(微信朋友圈怎么修改定位到外省)

微信朋友圈怎么连拍(微信朋友圈怎么修改定位到外省)

新年新气象,微信有更新礼包给大家了。特别爱臭美的姐妹们,可以把你360度无死角的美美照20张合成一个视频,发盆友圈啦[偷...

2023-10-24 19:25:54查看全文 >>

小学时间小时单位换算公式大全表(小学单位换算公式大全表图片)

小学时间小时单位换算公式大全表(小学单位换算公式大全表图片)

1、长度单位国际单位是“米”(符号“m”),最常见的有千米(km)、米(m)、分米(dm)、厘米(cm)、毫米(mm)。...

2023-10-24 19:19:24查看全文 >>

小学六年级时间换算单位公式(六年级换算单位的题100道)

小学六年级时间换算单位公式(六年级换算单位的题100道)

小学数学必备知识点总归纳常用单位换算1、长度单位换算:1千米=1000米1米=10分米1分米=10厘米1米=100厘米1...

2023-10-24 19:00:10查看全文 >>

三年级时间和单位换算(三年级时间单位的换算题目)

三年级时间和单位换算(三年级时间单位的换算题目)

一、小学数学算式定律加法交换律:a b = b a加法结合律:(a b) c = a (b c)乘法交换律...

2023-10-24 18:46:42查看全文 >>

四年级时间单位的换算公式(四年级米的换算单位和公式)

四年级时间单位的换算公式(四年级米的换算单位和公式)

常用小数、分数的转化1/2 =0.5=50%1/3≈0.333 =33.3%2/3≈0.667=66.7%1/4 0.2...

2023-10-24 18:51:35查看全文 >>

文档排行