c - 带有日期函数的逻辑

标签 c date pointers

我的目标是将天数添加到日期并返回正确的日期。

我让用户输入一个日期(dd、mm、yyyy)以及他们希望进入 future 的天数(天)。

你能帮我提高逻辑吗

我的结果输出是,如果我输入一个日期,例如:18/10/2014 并添加 100 天,我会得到日期 118/10/2014,这显然是不正确的。

void dateafter(int *pd, int *pm, int *py, int *pdtm, int *pdty, int *days ){

while(*days >= 0){

    if(*days > *pdty){
        *py += 1;
        daymonthyear(*pm, *py,  *pdtm, *pdty);
        *days -= *pdty;
    }
    if(*days > *pdtm - *pd){
        *pm = *pm + 1;

        if(*pm > 12){
            *pm = 1;
            *py = *py + 1;
        }

        daymonthyear(*pm,*py,*pdtm,*pdty);
        *days -= *pdtm;
    }
    else{
        *pd += *days;
        break;
    }
}
}

pdtm 指本月的天数,pdty 指 pdty daymonthyear 计算每月和每年的天数。

谢谢

最佳答案

将日期转换为 Unix 时间。请参阅http://linux.die.net/man/3/strptime会这样做。

添加秒数。 (一天 = 24 * 60 * 60)秒。

使用strftime转换回来

关于c - 带有日期函数的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26438949/

相关文章:

c - 在ubuntu上运行C程序

c - 我需要编写一个 C 程序来调用给定函数来计算文件中的字符和数字的数量

c - 将结构体指针数组传递给函数

c - C中数组的问题

c - C 中哈希的哈希

c - 浮点格式直到指定数字

java - 使用 JodaTime 添加月份?

date - 快捷方式指向名为当前日期的文件夹。 YYYY_MM_DD格式

php - 使用php从时间戳获取时间和日期

c - 指向范围外变量的指针在 C 中如何表现?