| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:求C语言中日期时间算法
只看楼主 加入收藏
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:5 
求C语言中日期时间算法
给定的一个时间,我需要在这个时间的基础上增加或者减少几个小时,计算出目标时间,求算法,谢谢!

[ 本帖最后由 hwf214685147 于 2013-8-13 18:53 编辑 ]
搜索更多相关主题的帖子: C语言 
2013-08-13 18:45
fightingsss
Rank: 6Rank: 6
等 级:侠之大者
帖 子:97
专家分:471
注 册:2010-11-12
收藏
得分:4 
给方法吧:
(1)原来的小时是a,0≤a≤23
(2)加上b小时,判断b,如果b=0,那就不变了,b<0,(3),b>0,分情况了
第一种:b>=24,需要取余,求商,商往天数上面加,余数再加上a,接着判断这个值
第二种:b<24,那就直接加上a,然后进行判断,和第一种类似
(3)b<0,这个和(2)很像的,先是判断|b|的大小,如果超过24,那就天数减一,没超过24,就和a比大小。b大的话,需要天数减一,往时间上加个24,再减去b;a大的话就直接减。
一些日期处理上的小问题自己注意,算法不难,主要就是把情况考虑完整。
2013-08-13 19:04
veketdelphi
Rank: 5Rank: 5
等 级:职业侠客
帖 子:67
专家分:374
注 册:2013-4-8
收藏
得分:4 
请参考autoit脚本语言Date.au3源码
2013-08-13 21:09
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:4 
回复 3楼 veketdelphi
你的头像蛮有意思的
2013-08-13 21:18
就少个空格啊
Rank: 2
来 自:吉林省
等 级:论坛游民
帖 子:21
专家分:34
注 册:2013-7-9
收藏
得分:4 
# include <stdio.h>

void change_time (int * day, int * hour, int * change_hour)
{
    *hour = *change_hour + *hour;
    *day = *day + *hour / 24;
    *hour = *hour % 24;
    if (*hour < 0)
    {
        *hour = *hour + 24;
        *day  = *day - 1;
    }
}

int main (void)
{
    int a,b,c;
    printf("请输入现在的时间:\n");
    printf("天数:");
    scanf("%d", &a);
    printf("\n");
    printf("小时: ");
    scanf("%d", &b);
    printf("\n");
    printf("请输入要更改的小时:");
    scanf("%d", &c);
    change_time(&a, &b, &c);
    printf("经过修改 现在的时间是:%d 天 %d 小时。", a, b);

    return 0;
}
初学者,看到楼主的问题自己写的,第一次传代码,大家帮改改

不断的让自己变得更加强大!
2013-08-13 22:04
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:4 
2楼正解,只要判断   加上 或者 减去 时间后      天数是否改变即可

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-14 07:23
快速回复:求C语言中日期时间算法
数据加载中...
 
   



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

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