avHi 再次感谢大家对我之前问题的帮助。
但是现在我遇到了另一个问题
int main ()
{
int inputSeconds,seconds, minutes, hours , days ,years ;
int remainingSeconds ;
int current_year = 1970;
int current_month = 1;
int current_day = 1;
const int standard_year = 365;
const int leap_year = 366;
bool leapYear;
int leapcounter ; //Since 1972 is the next closest leap year, counter is set to 2
cout << "Welcome to Epoch time/ Data converter" << endl;
cout << "Enter Number of Seconds Since Midnight Jan 1, 1970: ";
cin >> inputSeconds ;
//Convert seconds into days to determine the number of years that has already passed
days = inputSeconds/(60*60*24) ;
remainingSeconds = inputSeconds % (60*60*24) ;
cout << days << endl;
//Determine current year
while (!(days < 365))
{
if (leapcounter == 3 )
{
current_year++;
days -= leap_year;
leapYear = true;
leapcounter = 0;
}
else
{
current_year++;
days -= standard_year;
leapcounter++;
leapYear = false;
}
}
//Check if current year is leap year or not
if ((current_year % 4 == 0) && (current_year % 100 == 0) || (current_year % 400 == 0))
leapYear = true;
else
leapYear = false;
cout << current_year << " days remaining :" << days << " Leap year? " << leapYear << " Remaining seconds :" << remainingSeconds;
return 0;
}
它似乎没有检测到输出的闰年。我试过 1972 年、2004 年、2008 年和 2012 年。
我似乎无法弄清楚它的问题,并希望您能帮助阐明我的问题,谢谢您。