我有这样的事情:

char *current_day, *current_time;
system("date +%F");
system("date +%T");

它在标准输出中打印当前日期和时间,但是我想获取此输出或将其分配给current_daycurrent_time变量,以便稍后可以对这些值进行一些处理。
current_day ==> current day
current_time ==> current time

我现在想到的唯一解决方案是将输出定向到某个文件,然后读取该文件,然后将date和time的值分配给current_daycurrent_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/

10-11 22:50