😸

[C] strftime 関数

に公開

機能

日時や時刻情報(構造体 struct tm)を、指定したフォーマット(書式文字列)に従って文字列へ変換する標準関数。[1]

使用例

2024-06-12 14:30:00 と表示する

\n は改行を表す エスケープシーケンス[2]

コード

strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &tm);
printf("%s\n", buf);
全文
#include <stdio.h>
#include <time.h>
void main() {
    struct tm tm = {0};
    char buf[128];

    tm.tm_year = 2024 - 1900;
    tm.tm_mon = 5;
    tm.tm_mday = 12;
    tm.tm_hour = 14;
    tm.tm_min = 30;
    tm.tm_sec = 0;

    strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &tm);
    printf("%s\n", buf);
}

実行結果

2024-06-12 14:30:00

Wed, 12 Jun 2024 を変数から表示する

コード

strftime(buf, sizeof(buf), "%a, %d %b %Y", &tm);
printf("%s\n", buf);
全文
#include <stdio.h>
#include <time.h>
void main() {
    struct tm tm = {0};
    char buf[128];

    tm.tm_year = 2024 - 1900;
    tm.tm_mon = 5;
    tm.tm_mday = 12;

    strftime(buf, sizeof(buf), "%a, %d %b %Y", &tm);
    printf("%s\n", buf);
}

実行結果

Wed, 12 Jun 2024
脚注
  1. strftimeは"string format time"の略。日付や時刻を「2024-06-12」や「12:34:56」など望みの形で出力できる。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion