A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄方 中级黑马   /  2012-2-28 22:29  /  1797 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

从键盘输入一个日期,格式为yyyy-M-d要求计算该日期与1949年10月1日距离多少天例如:用户输入了:1949-10-2程序输出:1用户输入了:1949-11-1程序输出:31

4 个回复

倒序浏览
如果可以用数据库一进一出  那就5分钟 嘿嘿~
回复 使用道具 举报
周峰 发表于 2012-2-29 03:13
如果可以用数据库一进一出  那就5分钟 嘿嘿~

额,这个不用数据库的!!
回复 使用道具 举报
java api 自带~ 查一下api 就搞定
回复 使用道具 举报
int main(void)
{
   struct tm time_cha;
   time_t t1,t2;
   int d, year, month, day;

   time_cha.tm_year = 1949 - 1900+32;  //tm结构记录年为实际-1900,经过时间从1970年开始计算,不得小于1970年,考虑四年一闰,所以加32保证大于1970年
   time_cha.tm_mon  = 10 - 1;
   time_cha.tm_mday = 1;
   time_cha.tm_hour = 0;
   time_cha.tm_min  = 0;
   time_cha.tm_sec  = 1;
   t1 = mktime(&time_cha);//获得从1970以来过去的时间,秒

   printf("please input data: yyyy-m-d:");
   scanf("%d-%d-%d",&year,&month,&day);

   time_cha.tm_year = year - 1900+32;
   time_cha.tm_mon  = month - 1;
   time_cha.tm_mday = day;
   time_cha.tm_hour = 0;
   time_cha.tm_min  = 0;
   time_cha.tm_sec  = 1;
   t2 = mktime(&time_cha);

   d=(t2-t1)/(24*3600l);//经过的时间差(秒)/每天的秒数
   printf("Pass time is %d days\n", d);

   return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马