/******************************************************************************
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
#include
#include
#include "conio.h"
using namespace std;
/*****************************************************************************
Description :计算绝对天数
Input Param : char year:年份
char month:月份
char day: 日期
Output Param : 无
Return Value : 计算出绝对天数
*****************************************************************************/
/*int sum,leap;
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
return sum;
}*/
int CalculateAbsoluteDays (int year, char month, char day)
{
if (year <= 0 || year >9999 || month > 12 || month < 1 || day > 31 || day < 1)
return 0;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day < 1 || day > 31))
return 0;
if ((month == 4 || month == 6 || month == 9 || month == 11) && (day < 1 || day > 30))
return 0;
if (month == 2)
{
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
if(day < 1 || day > 29)
return 0;
}
else
{
if(day < 1 || day > 28)
return 0;
}
}
int i,days,m2;
int sum=0;
int num[12];
if(year%400==0||(year%4==0&&year%100!=0))
{
m2=29;
}
else
{
m2=28;
}
num[0]=31;
num[1]=m2;
num[2]=31;
num[3]=30;
num[4]=31;
num[5]=30;
num[6]=31;
num[7]=31;
num[8]=30;
num[9]=31;
num[10]=30;
num[11]=31;
for(i=0;i
{
{sum+=num[i];}
}
sum+=day;
return sum;
}
阅读(495) | 评论(0) | 转发(0) |