0

我正在尝试为作业编写应用程序,并且我是 C++ 新手。应用程序的一小部分需要我存储一个日期并添加任意天数作为日期的偏移量。我知道如何使用 Java 或 C# 完成此任务,但我一直无法为 c++ 找到任何东西。我的教授提到了 ctime,但经过多次搜索,我发现的所有示例都与当前系统时间有关。如何创建 ctime::tm 结构并将其设置为任意日期?是否可以使用 ctime 添加天数以获得另一个日期?例如,如果我将 40 天添加到 2001 年 1 月 1 日,我会期望 2001 年 2 月 10 日而不是 2001 年 1 月 41 日。

4

1 回答 1

0

作为使用示例

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

int main ()
{
  time_t currentTime;
  time(&currentTime);  
  struct tm * tmDate;
  int day, month,  year;

  tmDate = localtime (&currentTime);
  tmDate->tm_year = 99;
  tmDate->tm_mon = 11;
  tmDate->tm_mday = 10;

  mktime ( tmDate );

printf("now: %d-%d-%d %d:%d:%d\n", tmDate->tm_year + 1900, tmDate->tm_mon + 1, tmDate->tm_mday, tmDate->tm_hour, tmDate->tm_min, tmDate->tm_sec);

  return 0;
}

如您所见

  tmDate->tm_year = 99;
  tmDate->tm_mon = 11;
  tmDate->tm_mday = 10;

您可以设置、分、添加月、年、日.. 到日期。

例如,您可以简单地添加 1 个月至今

  tmDate->tm_mon++;
于 2014-01-29T02:56:38.220 回答