我正在编写一个小的程序来下载气象软件包要使用的适当文件集。文件的格式YYYYMMDD
与YYYYMMDD HHMM
UTC类似。我想知道C ++中UTC的当前时间,我在Ubuntu上。有没有简单的方法可以做到这一点?
在C ++中,高端答案是使用Boost Date_Time。
但这可能太过分了。C库中有您需要的库strftime
,手册页中有一个示例。
/* from man 3 strftime */
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
char outstr[200];
time_t t;
struct tm *tmp;
const char* fmt = "%a, %d %b %y %T %z";
t = time(NULL);
tmp = gmtime(&t);
if (tmp == NULL) {
perror("gmtime error");
exit(EXIT_FAILURE);
}
if (strftime(outstr, sizeof(outstr), fmt, tmp) == 0) {
fprintf(stderr, "strftime returned 0");
exit(EXIT_FAILURE);
}
printf("%s\n", outstr);
exit(EXIT_SUCCESS);
}
我根据手册页添加了完整的示例:
$ gcc -o strftime strftime.c
$ ./strftime
Mon, 16 Dec 13 19:54:28 +0000
$
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句