linux c获取系统日期格式yyyymmdd

时间:2016-03-17 13:37:17

标签: c linux time

我想问一些问题 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。

2 个答案:

答案 0 :(得分:1)

您可以使用strptime(仅限Linux)将字符串转换为时间结构。这将在传递给它的tm结构上设置时间。

然后,您可以使用ctime库。它会让你使用difftime,这会让你得到两次之间的差异。

答案 1 :(得分:1)

考虑c标准功能。 strftime

#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;