我想用天来增加日期。。。例如,如果今天是2015年5月27日,我加上6天,它应该打印2015年6月3日的
这是我的尝试:
time_t now;
struct tm *tm;
now = time(0);
if ((tm = localtime (&now)) == NULL) {
printf ("Error extracting time stuffn");
return 1;
}
printf ("%02d-%02d-%04dn", tm->tm_mday + 6, tm->tm_mon, tm->tm_year+1900);
这将超过
33-05-2015
还有我如何可以格式化这样的日期:
2015年6月27日
这样你就可以
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int
main(void)
{
struct timeval tv;
char str[12];
struct tm *tm;
if (gettimeofday(&tv, NULL) == -1)
return -1; /* error occurred */
if ((tm = localtime(&tv.tv_sec)) != NULL)
{
/* Format as you want */
strftime(str, sizeof(str), "%d-%b-%Y", tm);
printf("Today : %sn", str);
}
tv.tv_sec += 6 * 24 * 3600; /* add 6 days converted to seconds */
if ((tm = localtime(&tv.tv_sec)) != NULL)
{
/* Format as you want */
strftime(str, sizeof(str), "%d-%b-%Y", tm);
printf("After 6 days from today: %sn", str);
}
return 0;
}