我想问一些问题1)我想使用linux c获取系统日期的字符串yyyymmdd,我应该怎么做?我想用这个字符串做一些算术,就像我有"20160317"我想做的 20160317 - 90 得到一个新的日期,请帮忙
2)
int n;
int m;
n = (m%10 = 0)?(m/10):(m/10+1);
有没有更干净的方法可以做到这一点?比如如果m = 11 n会得到2,m = 10 n会得到1。
您可以使用 strptime(仅限 Linux)从字符串转换为时间结构。这将在传递给它的 tm 结构上设置时间。
然后,您可以使用 ctime 库。它将让您使用difftime
这将使您获得两次之间的差异。
考虑 C 标准函数。
#include <time.h>
char datename[32];
struct tm* to;
time_t t;
t = time(NULL);
to = localtime(&t);
strftime(datename, sizeof(datename), "%Y%m%d", to);
如果你想要90天之前的日期。
t -= 90 * 24 * 3600;