#include<iostream>
using namespace std;
int year, month, day;
bool isYear(int y) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
return true;
return false;
}
int YearToNum(int y, int m, int d, int a[]) { //日期转数字
int title = 0;
for (int i = 1; i < y; i++) {
if (isYear(i)) title += 366;
else title += 365;
}
if (isYear(y) && m > 2) a[2] += 1; //判断是否为闰年,且月份大于2
for (int i = 1; i < m; i++) {
title += a[i];
}
title += d;
return title;
}
void NumToYear(int num, int a[]) { //数字转日期
while (num >= 0) {
year++;
if (isYear(year)) num -= 366;
else num -= 365;
}
/*此时num必定小于0,回血操作*/
if (isYear(year)) {
num += 366;
a[2] += 1;
}
else num += 365;
if (num == 0) {//刚好是整年
year--;
month = 12;
day &#
数字和日期之间的相互转换
最新推荐文章于 2023-06-21 22:34:08 发布