我有这样的事情:
char *current_day, *current_time;
system("date +%F");
system("date +%T");
它在标准输出中打印当前日期和时间,但是我想获取此输出或将其分配给
current_day
和current_time
变量,以便稍后可以对这些值进行一些处理。current_day ==> current day
current_time ==> current time
我现在想到的唯一解决方案是将输出定向到某个文件,然后读取该文件,然后将date和time的值分配给
current_day
和current_time
。但是我认为这不是一个好方法。还有其他简短而优雅的方法吗? 最佳答案
使用 time()
和 localtime()
来获取时间:
#include <stdio.h>
#include <time.h>
int main()
{
time_t t = time(NULL);
struct tm tm = *localtime(&t);
printf("now: %d-%02d-%02d %02d:%02d:%02d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
}
关于c - 如何在C程序中获取日期和时间值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1442116/