日期模拟
2022/4/8 23:25:44
本文主要是介绍日期模拟,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
若已知当前年月日,要计算过了n天后天的年月日,代码如下:
//代码是当前2022年4月8日, 过100天后的年月日
#include<stdio.h>
static int M[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
void Data()
{
int y=2022;
int m=4;
int d=8;
int i;
for(i=1;i<101;i++) //i<101 实际上是过了100天
{
if(y%400==0||((y%100!=0)&&y%4==0))
M[2]=29;
else
M[2]=28; //记得恢复M[2]=28;
d++;
if(d>M[m])
{
d=d-M[m]; //这两行不能颠倒
m++;
}
if(m>12)
{
m=m-12;
y++;
}
}
printf("%d %d %d",y,m,d);
}
int main()
{
Data();
}
若现在已知两个年月日,要求这两个年月日之间相隔多少天呢?比如现在是2022年4月8日,2022年7月6日放暑假,这中间要过多少天?
只需要改变for循环的终止条件,和初始条件即可即可:
#include<stdio.h>
static int M[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
void Data()
{
int y=2022;
int m=4;
int d=8;
int i;
for(i=0;y!=2022||m!=7||d!=6;i++) //i的初始值为0,因为不算今天
{
if(y%400==0||((y%100!=0)&&y%4==0))
M[2]=29;
else
M[2]=28; //记得恢复M[2]=28;
d++;
if(d>M[m])
{
d=d-M[m]; //这两行不能颠倒
m++;
}
if(m>12)
{
m=m-12;
y++;
}
}
printf("%d %d %d\n",y,m,d);
printf("过了%d天",i);
}
int main()
{
Data();
}
这篇关于日期模拟的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?