#include <time.h>
#include <stdio.h>
time_t _mktime( char *slTime ) /** yyyy-mm-dd **/
{
struct tm tm_t;
int year;
int mon;
int day;
sscanf( slTime, "%4d-%2d-%2d", &year, &mon, &day );
tm_t.tm_year = year - 1900;
tm_t.tm_mon = mon - 1;
tm_t.tm_mday = day;
tm_t.tm_hour = 12;
tm_t.tm_min = 00;
tm_t.tm_sec = 01;
tm_t.tm_wday = 0;
tm_t.tm_yday = 0;
tm_t.tm_isdst = 0;
return mktime( &tm_t );
}
int daydiff( char *date1, char *date2 ) /** yyyy-mm-dd **/
{
time_t t1 = _mktime( date1 );
time_t t2 = _mktime( date2 );
time_t diff = abs( t2 - t1 );
return (int)( diff / (24*60*60) );
}
int main()
{
char date1[12], date2[12];
printf( "input date1: " );
scanf( "%s", date1 );
fflush( stdin );
printf( "input date2: " );
scanf( "%s", date2 );
fflush( stdin );
printf( "%s - %s is %d days\n", date1, date2, daydiff(date1, date2) );
}
温馨提示:答案为网友推荐,仅供参考