/******************************************************************************
Copyright (C), 2001-2011, Huawei Tech. Co., Ltd.
******************************************************************************
File Name :
Version :
Author :
Created : 2012/3
Last Modified :
Description :
Function List :
History :
1.Date : 2012/3
Author :
Modification: Created file
******************************************************************************/
#include <string.h>
#include <iostream>
using namespace std;
/*****************************************************************************
Description :计算绝对天数
Input Param : char year:年份
char month:月份
char day: 日期
Output Param : 无
Return Value : 计算出绝对天数
*****************************************************************************/
int CalculateAbsoluteDays (int year, char month, char day)
{
/* 实现功能 */
if(year<0||year>9999||month<1||month>12||day<1||day>31)
return 0;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day < 1 || day > 31))
return 0;
if((year%4==0 && year%100!=0) || (year%400==0))
{
if(day>29)
return 0;
}
if(!(year%4==0 && year%100!=0) || (year%400==0))
{
if(month==2&&(day>28))
return 0;
}
int num[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int num1[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int total=0;
if((year%4==0 && year%100!=0) || (year%400==0))
{
for(int i=0;i<month-1;i++)
total=total+num1[i];
total=total+day;
return total;
}
else
{
for(int i=0;i<month-1;i++)
total=total+num[i];
total=total+day;
return total;
}
}
Copyright (C), 2001-2011, Huawei Tech. Co., Ltd.
******************************************************************************
File Name :
Version :
Author :
Created : 2012/3
Last Modified :
Description :
Function List :
History :
1.Date : 2012/3
Author :
Modification: Created file
******************************************************************************/
#include <string.h>
#include <iostream>
using namespace std;
/*****************************************************************************
Description :计算绝对天数
Input Param : char year:年份
char month:月份
char day: 日期
Output Param : 无
Return Value : 计算出绝对天数
*****************************************************************************/
int CalculateAbsoluteDays (int year, char month, char day)
{
/* 实现功能 */
if(year<0||year>9999||month<1||month>12||day<1||day>31)
return 0;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day < 1 || day > 31))
return 0;
if((year%4==0 && year%100!=0) || (year%400==0))
{
if(day>29)
return 0;
}
if(!(year%4==0 && year%100!=0) || (year%400==0))
{
if(month==2&&(day>28))
return 0;
}
int num[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int num1[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int total=0;
if((year%4==0 && year%100!=0) || (year%400==0))
{
for(int i=0;i<month-1;i++)
total=total+num1[i];
total=total+day;
return total;
}
else
{
for(int i=0;i<month-1;i++)
total=total+num[i];
total=total+day;
return total;
}
}