使用日期和时间函数

时间:2014-09-20 03:56:09

标签: c datetime

此代码用于获取当前日期并使其失效

#include stdio.h
#include time.h

int main(void)

{

char currentt[80];

time_t now = time(NULL);

struct tm *t = localtime(&now);

strftime (currentt,80,"%d/%m/%Y",t+=30);

puts (currentt); 

printf("%s",currentt);

return 0;

}

我还有另外一个代码,可以在手动输入的日期增加30天

#include stdio.h
#include time.h

int main()

{        

    /* initialize */
    int y=2014, m=9, d=19;    
    struct tm t = { .tm_year=y-1900, .tm_mon=m-1, .tm_mday=d };
    /* modify */
    t.tm_mday += 30;
    mktime(&t);
    /* show result */
    printf(asctime(&t)); 
return 0;
}

我想要做的是合并此代码,以便从中获取当前日期 FIRST代码和使用SECOND CODE添加30天.... 谁能帮我这个。 任何其他逻辑也将受到赞赏,但我想用C语言。

1 个答案:

答案 0 :(得分:1)

首先#include应与文件名周围的<>一起使用。下面的代码与上面的两个代码类似。我已在适当的地方发表评论。它只是将当前时间增加30天到一天字段重新计算新时间并输出

#include <stdio.h>
#include <time.h>

int main()
{
    /* Get the current time*/
    time_t now = time(NULL);
    struct tm *t = localtime(&now);

    /* modify current time by adding 30 days*/
    t->tm_mday += 30;
    mktime(t);

    /* show result */
    printf(asctime(t));
    return 0;
}