有趣的时间函数

最近在接触结构体,也没遇见什么有意思的程序,和比较难懂的逻辑,所以今天就分享一时间时间函数的代码、
源代码如下:
#include<time.h>
#include<stdio.h>
#include<windows.h>
int main()
{
int h = 0, m = 0, s = 0;
int t = 0;
while (1)
{
t = time(0); //获取总秒数
s = t % 60;
m = t % 3600 / 60; //1h= 3600s不足1h的除60即为分钟
h = (t % (24 * 3600) / 3600 + 8) % 24; //1天24h 得到当天小时数+8为东八区区时 避免出现大于24h的情况对24取余

	printf("%02d:%02d:%02d\r", h, m, s);
	Sleep(1000);//程序执行较快 对时间进行控制 执行挂起1s 
}
return 0;

}
也是仅仅只有短短的二三十行,但却可以实现时间的显示,time (0)的意思是获取从发明时间开始到现在一刻的总时间长度,也是总秒数,然后要算秒为单位,只要利用总时间除余%60即可,而分钟单位要除余3600再除60,因为定义都为整形,当为小数,除不尽的时候,会自动取整。小时单位则要除余天数总共秒数,由此也可以有一个猜想,如果我们要显示年月日呢?
也是一样的道理,日只需要用总时间对月除余,然后再除以一天所对应的总秒数就可以了!
再回到这个程序,关于小时的获取,稍微繁琐一点,要加一个8了,是因为我们再东八时区,根据太阳公公的运动决定,这个需要查一下地理知识就行了
最后要完成每秒显示一次,则需要函数#include<windows.h>的sleep,每一秒中屏幕显示一次就行了,把这些全部放进一个死循环中
我们的时间表就完成了!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值