| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 423 人关注过本帖
标题:一个关于时间计算的问题
只看楼主 加入收藏
卢金洋21
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-5-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
一个关于时间计算的问题
如何计算未来3天的日期?

例如今天2011.06.28

输出:

2011.06.29

2011.06.30

2011.07.01

各位拜托啦 !小弟不才,跪求指导!
搜索更多相关主题的帖子: 如何 如何 
2011-06-26 10:51
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:5 
是获取系统时间还是手动输入时间呢?
2011-06-26 10:56
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册

.....
程序代码:
#include <stdio.h>
#include <time.h>
#define MAXSIZE 21

int main(void) {
    char str[MAXSIZE];
    char * fmt = "%Y.%m.%d";
    time_t t;
    time(&t);
    strftime(str, MAXSIZE, fmt, localtime(&t));
    printf("%s\n", str);
    return 0;
}



[ 本帖最后由 lz1091914999 于 2011-6-26 11:12 编辑 ]

My life is brilliant
2011-06-26 11:11
卢金洋21
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-5-15
收藏
得分:0 
回复 2楼 hjywyj
都可以的呀
2011-06-26 11:14
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:5 
以前做过的习题,加个循环就可以啦。
程序代码:
root@~ #cat lt94.c
#include <stdio.h>
#include <stdbool.h>

struct date {
        int month;
        int day;
        int year;
};

struct date dateUpdate (struct date today) {

        struct date tomorrow;
        int numberOfDays (struct date d);

        if(today.day != numberOfDays(today)) {
                tomorrow.day=today.day+1;
                tomorrow.month=today.month;
                tomorrow.year=today.year;
        }
        else if(today.month==12) {
                tomorrow.day=1;
                tomorrow.month=1;
                tomorrow.year=today.year+1;
        }else{
                tomorrow.day=1;
                tomorrow.month=today.month+1;
                tomorrow.year=today.year;
        }

        return tomorrow;

}

int numberOfDays (struct date d) {

        int days;
        bool isLeapYear (struct date d);

        const int daysPerMonth[12]={ 31,28,31,30,31,30,31,31,30,31,30,31 };

        if(isLeapYear(d)==true && d.month==2) {
                days=29;
        }else{
                days=daysPerMonth[d.month-1];
        }

        return days;

}

bool isLeapYear (struct date d) {

        bool leapYearFlag;

        if((d.year%4==0 && d.year%100!=0)||d.year%400==0) {
                leapYearFlag=true;
        }else{
                leapYearFlag=false;
        }

        return leapYearFlag;

}

int main (void) {
        int i;
        struct date dateUpdate (struct date today);
        struct date today,nextday;

        printf ("Enter today's date (mm dd yyyy) :");
        scanf ("%i%i%i",&today.month,&today.day,&today.year);

        for(i=0;i<3;i++) {
                nextday=dateUpdate(today);
                printf ("%.2i/%.2i/%i\n",nextday.month,nextday.day,nextday.year)
;
                today.day++;
        }

        return 0;

}

程序代码:
root@~ #./lt94
Enter today's date (mm dd yyyy) :12 29 2011
12/30/2011
12/31/2011
01/01/2012
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-26 15:00
卢金洋21
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-5-15
收藏
得分:0 
回复 5楼 ansic
这位大哥,stdbool.h是什么啊 ?我用的是c++求解。。。。
2011-06-27 14:13
快速回复:一个关于时间计算的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013821 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved