1. ホーム
  2. c

Cプログラムで日付と時刻の値を取得するには?

2023-09-18 17:58:58

質問内容

このようなものがあります。

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

標準出力に現在の曜日と時刻を出力していますが、この出力を取得したり、割り当てたいのは current_daycurrent_time という変数があり、後でこれらの値を使って何らかの処理をすることができます。

current_day ==> current day
current_time ==> current 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);
}