我有一个c ++程序,它将以YYYYMMDD
格式计算日期。
该程序将获取一个日期和一个数字,然后返回一个计算出的日期。
例如20190101-2将返回20181230
程序将导入rw/rwdate.h
库。
使用gcc编译程序时出现以下错误。
我的gcc版本:gcc version 4.8.2 (GCC)
严重错误:rw / rwdate.h:没有这样的文件或目录
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <rw/rwdate.h>
#include <rw/rstream.h>
main (int argc, char **argv)
{
char year[5];
char month[3];
char day[3];
char newDate[9]; /* YYYYMMDD */
strncpy(year, argv[1], 4);
strncpy(month, &argv[1][4], 2);
strncpy(day, &argv[1][6], 2);
year[4] = 0x00;
month[2] = 0x00;
day[2] = 0x00;
RWDate d = RWDate(atoi(day), atoi(month), atoi(year));
RWDate y;
if (argv[2][0] == '+')
y = d.operator+= ( atoi(argv[3]) );
else
y = d.operator-= ( atoi(argv[3]) );
/* output to outFileName */
ofstream oFile;
oFile.open(argv[4], ios::out);
oFile << newDate << endl;
oFile.close();
char newDateM[7]; /* YYYYMM */
char fileM[80];
sprintf(newDateM, "%04d%02d", y.year(), y.month());
sprintf(fileM, "%sM", argv[4]);
oFile.open(fileM, ios::out);
oFile << newDateM << endl;
oFile.close();
}
答案 0 :(得分:0)
谢谢约翰。
我认为可以安装bash脚本来获取日期,而不是安装库。
我使用以下命令在给定日期之前2天。
curr_date=$(gdate --date='20190101 -2days' +%Y%m%d)
但是我有一个新问题。如何传递参数,并根据传递的值计算2天前的日期?