c++日期转换

来源:互联网 发布:网站域名一年多少钱 编辑:程序博客网 时间:2024/06/06 03:26
#include <stdio.h>
#include <time.h>
#include <iostream>


using namespace std;


void GetDay(int days, int &month, int&mDay, bool bLeap)
{
int dayCount[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (bLeap)
dayCount[1]++;
for (int i = 0; i<12; i++)
{
if (days <= dayCount[i])
{
mDay = days;
return;
}
else
{
month++;
days -= dayCount[i];
}


}
return;


}
bool isLeapYear(int year)
{
if (0 == year % 400)
return true;
if ((0 == year % 4) && (0 != year % 100))
return true;
return false;
}


void day2date(int days)
{
int nYear = 1900;
int month = 0;
int mDay = 0;
int totalDays = 365;
while (1)
{
if (isLeapYear(nYear))
totalDays = 366;
else
totalDays = 365;
if (days <= totalDays)
break;


days -= totalDays;
nYear++;
}
GetDay(days, month, mDay, isLeapYear(nYear));
printf("Date: %04d-%02d-%02d\n", nYear, month + 1, mDay);
}


int main(int argc, char* argv[])
{


cout << 1387593122000 / (1000 * 60 * 60 * 24) << endl;


//day2date(15764625);
day2date(16060);


getchar();
return 0;
}
0 0
原创粉丝点击