C有一套日期函数的,如
#include
#include
int main()
{
struct tm tm_;
const struct tm *tmp;
int y,m,d;
time_t t;
printf("请输入日期(用-号分隔):\n");
scanf("%d-%d-%d",&y,&m,&d);
tm_.tm_year = y-1900; //年
tm_.tm_mon = m-1; //月
tm_.tm_mday = d; //日
tm_.tm_hour = 0; //时
tm_.tm_min = 0; //分
tm_.tm_sec = 0; //秒
tm_.tm_isdst = 0; //夏令时
t=mktime(&tm_); //生成时间
tmp=localtime(&t); //转换格式
printf("%d-%d-%d为本年第%d天\n",y,m,d,tmp->tm_yday+1); //tm_yday从0开始的
return 0;
}
而还剩下多少天有两个方法
一是同样的,求当年的12月21日是该年的多少天,然后减上面的就是剩下的天数
二是判闰年,然后用365或366减上面的就是剩下的天数