Man page - strftime(3)

Packages contains this manual

Available languages:

en fr ja de

Manual

STRFTIME

名 前
書 式
説 明
返 り 値
環 境 変 数
属 性
準 拠
注 意
ISO 8601 の 暦 週 日 付
glibc で の 注 意
バ グ

サ ン プ ル プ ロ グ ラ ム
プ ロ グ ラ ム の ソ ー ス
関 連 項 目
こ の 文 書 に つ い て

名 前

strftime - 日 付 お よ び 時 刻 の 文 字 列 へ の 変 換

書 式

#include <time.h>

size_t strftime(char * s , size_t max , const char * format ,
const struct tm *
tm );

説 明

strftime () 関 数 は 、 要 素 別 の 時 刻 tm の 内 容 を format で 指 定 さ れ た 書 式 指 定 に し た が っ て 変 換 し 、 長 さ max の 文 字 列 s に 書 き 込 む 。 要 素 別 の 時 刻 構 造 体 tm <time.h> で 定 義 さ れ て い る 。 ctime (3) も 参 照 。

書 式 指 定 は ヌ ル 終 端 さ れ た 文 字 列 で あ り 、 「 変 換 指 定 (conversion specification)」 と 呼 ば れ る 特 別 な 文 字 列 を 含 め る こ と が で き る 。 各 々 の 変 換 指 定 は '%' 文 字 で 始 ま り 、 「 変 換 指 定 文 字 (conversion specifier character)」 と 呼 ば れ る 何 ら か 他 の 文 字 で 終 端 さ れ る 。 上 記 以 外 の 全 て の 文 字 列 は 「 通 常 の 文 字 列 (ordinary character sequence)」 と な る 。

(NULL バ イ ト も 含 む ) 通 常 の 文 字 列 内 の 文 字 は 、 そ の ま ま format か ら s に コ ピ ー さ れ る 。 一 方 、 変 換 指 定 の 文 字 は 以 下 の リ ス ト に 示 す よ う に 置 換 さ れ る 。 こ の リ ス ト で は 、 tm 構 造 体 の フ ィ ー ル ド が 参 照 さ れ る 場 合 、 そ の 情 報 も 記 載 し て い る 。

%a

現 在 の ロ ケ ー ル に お け る 曜 日 の 省 略 名 。 tm_wday か ら 計 算 さ れ る 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な 名 前 は 、 引 数 に ABDAY_ { 1 7 } を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。

%A

現 在 の ロ ケ ー ル に お け る 曜 日 の 完 全 な 名 前 。 tm_wday か ら 計 算 さ れ る 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な 名 前 は 、 引 数 に DAY_ { 1 7 } を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。

%b

現 在 の ロ ケ ー ル に お け る 月 の 省 略 名 。 tm_mon か ら 計 算 さ れ る 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な 名 前 は 、 引 数 に ABMON_ { 1 12 } を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。

%B

現 在 の ロ ケ ー ル に お け る 月 の 完 全 な 名 前 。 tm_mon か ら 計 算 さ れ る 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な 名 前 は 、 引 数 に MON_ { 1 12 } を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。

%c

現 在 の ロ ケ ー ル に お い て 一 般 的 な 日 付 ・ 時 刻 の 表 記 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な フ ォ ー マ ッ ト は 、 %c 変 換 指 定 の 場 合 は D_T_FMT を 、 %Ec 変 換 指 定 の 場 合 は ERA_D_T_FMT を 引 数 に 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。 POSIX ロ ケ ー ル で は %a %b %e %H:%M:%S %Y と 等 価 で あ る 。

%C

世 紀 に 対 応 す る 2 桁 の 整 数 (year/1000)。 %EC 変 換 指 定 は 、 西 暦 以 外 の 年 数 表 記 ("era") の 名 前 に 対 応 す る 。 tm_year か ら 計 算 さ れ る 。 (SU)

%d

月 内 通 算 日 (10 進 数 表 記 ) (01-31)。 tm_mday か ら 計 算 さ れ る 。

%D

%m/%d/%y と 等 価 。 (う え っ 、 ア メ リ カ 専 用 だ 。 ア メ リ カ 以 外 の 国 で は %d/%m/%y の 方 が 一 般 的 だ 。 紛 ら わ し い の で 、 使 用 す べ き で は な い 。 ) (SU)

%e

%d と 同 様 に 月 内 通 算 日 を 10 進 数 で 表 現 す る が 、 1 桁 の 場 合 10 の 位 に ゼ ロ を 置 か ず ス ペ ー ス を 置 く 。 tm_mday か ら 計 算 さ れ る 。 (SU)

%E

別 形 式 (西 暦 以 外 の 年 数 表 記 ; "era") を 使 用 す る 際 の 修 飾 子 。 下 記 参 照 。 (SU)

%F

%Y-%m-%d と 等 価 (ISO 8601 形 式 の 日 付 フ ォ ー マ ッ ト )。 (C99)

%G

ISO 8601 の 週 (ISO 8601 week) に 基 づ く 年 の 表 示 。 「 注 意 」 の 節 を 参 照 )。 世 紀 も 10 進 数 で 表 す 。 ISO 週 番 号 ( %V を 参 照 ) に 対 応 し た 4 桁 の 西 暦 年 。 こ れ は 基 本 的 に は %Y と 同 じ 形 式 だ が 、 ISO 週 数 が 前 年 や 翌 年 に な る 場 合 に は そ の 年 が 使 用 さ れ る 点 が 異 な る 。 tm_year , tm_yday , tm_wday か ら 計 算 さ れ る 。 (TZ)

%g

%G と 同 様 。 た だ し 、 世 紀 を 含 ま ず 下 2 桁 の み を 表 示 (00–99)。 tm_year , tm_yday , tm_wday か ら 計 算 さ れ る 。 (TZ)

%h

%b と 等 価 (SU)

%H

24 時 間 表 記 で の 時 (hour) (00-23)。 tm_hour か ら 計 算 さ れ る 。

%I

12 時 間 表 記 で の 時 (hour) (01-12)。 tm_hour か ら 計 算 さ れ る 。

%j

年 の 初 め か ら 通 算 の 日 数 (001-366)。 tm_yday か ら 計 算 さ れ る 。

%k

24 時 間 表 記 で の 時 (0-23)。 1 桁 の 場 合 に は 前 に ゼ ロ で な く ス ペ ー ス が 置 か れ る 。 %H も 参 照 。 tm_hour か ら 計 算 さ れ る 。 (TZ)

%l

12 時 間 表 記 で の 時 (0-12)。 1 桁 の 場 合 に は 前 に ゼ ロ で な く ス ペ ー ス が 置 か れ る 。 %I も 参 照 。 tm_hour か ら 計 算 さ れ る 。 (TZ)

%m

10 進 数 表 記 の 月 (01-12)。 tm_mon か ら 計 算 さ れ る 。

%M

10 進 数 表 記 の 分 (00-59)。 tm_min か ら 計 算 さ れ る 。

%n

改 行 (SU)

%O

別 の 数 値 シ ン ボ ル を 使 用 す る 際 の 修 飾 子 。 下 記 参 照 。 (SU)

%p

現 在 の ロ ケ ー ル に お け る 「 午 前 」 「 午 後 」 に 相 当 す る 文 字 列 。 英 語 の 場 合 に は "AM" ま た は "PM" と な る 。 正 午 は 「 午 後 」 、 真 夜 中 は 「 午 前 」 と し て 扱 わ れ る 。 tm_hour か ら 計 算 さ れ る 。 現 在 の ロ ケ ー ル で "AM" と "PM" に 対 応 す る 文 字 列 表 現 は 、 そ れ ぞ れ AM_STR PM_STR を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。

%P

%p と 同 様 で あ る が 小 文 字 が 使 用 さ れ る 。 "am" や "pm"、 も し く は 現 在 の ロ ケ ー ル で の 対 応 す る 文 字 列 と な る 。 tm_hour か ら 計 算 さ れ る 。 (GNU)

%r

午 前 ・ 午 後 形 式 で の 時 刻 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な フ ォ ー マ ッ ト は 、 引 数 に T_FMT_AMPM を 指 定 し て nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。 POSIX ロ ケ ー ル で は %I:%M:%S %p と 等 価 で あ る 。 (SU)

%R

24 時 間 表 記 で の 時 刻 、 秒 は 表 示 し な い ( %H:%M )。 秒 を 含 ん だ も の は 以 下 の %T を 参 照 す る こ と 。 (SU)

%s

紀 元 (Epoch; 1970-01-01 00:00:00 +0000 (UTC)) か ら の 秒 数 。 mktime(tm) か ら 計 算 さ れ る 。 (TZ)

%S

秒 (10 進 数 表 記 ) (00-60)。 時 々 あ る 閏 秒 に 対 応 す る た め 、 値 の 範 囲 は 60 ま で と な っ て い る 。 tm_sec か ら 計 算 さ れ る 。

%t

タ ブ 文 字 (SU)

%T

24 時 間 表 記 の 時 間 ( %H:%M:%S ) (SU)

%u

週 の 何 番 目 の 日 (10 進 数 表 記 ) か 。 月 曜 日 を 1 と す る (1-7)。 %w も 参 照 。 tm_wday か ら 計 算 さ れ る 。 (SU)

%U

年 の 初 め か ら の 通 算 の 週 番 号 (10 進 数 表 記 ) (00-53)。 そ の 年 の 最 初 の 日 曜 日 を 、 第 1 週 の 始 ま り と し て 計 算 す る 。 %V %W も 参 照 す る こ と 。 tm_yday tm_wday か ら 計 算 さ れ る 。

%V

ISO 8601 形 式 で の 年 の 始 め か ら の 週 番 号 (「 注 意 」 の 節 を 参 照 )。 10 進 数 表 記 で 、 01 か ら 53 の 値 と な る 。 週 番 号 は 、 新 し い 年 が 少 な く と も 4 日 以 上 含 ま れ る 最 初 の 週 を 1 と し て 計 算 す る 。 %U %W も 参 照 の こ と 。 tm_year , tm_yday , tm_wday か ら 計 算 さ れ る 。 (SU)

%w

週 の 何 番 目 の 日 (10 進 数 表 記 ) か 。 日 曜 日 を 0 と す る 。 (0-6)。 %u も 参 照 。 tm_wday か ら 計 算 さ れ る 。

%W

年 の 初 め か ら の 通 算 の 週 番 号 (10 進 数 表 記 ) (00-53)。 そ の 年 の 最 初 の 月 曜 日 を 、 第 1 週 の 始 ま り と し て 計 算 す る 。 %V %W も 参 照 す る こ と 。 tm_yday tm_wday か ら 計 算 さ れ る 。

%x

現 在 の ロ ケ ー ル で 一 般 的 な 日 付 表 記 。 時 刻 は 含 ま な い 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な フ ォ ー マ ッ ト は 、 %x 変 換 指 定 の 場 合 は D_FMT を 、 %Ex 変 換 指 定 の 場 合 は ERA_D_FMT を 引 数 に 指 定 し て 、 nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。 POSIX ロ ケ ー ル で は 、 こ れ は %m/%d/%y と 等 価 で あ る 。

%X

現 在 の ロ ケ ー ル で 一 般 的 な 時 刻 表 記 。 日 付 は 含 ま な い 。 現 在 の ロ ケ ー ル で 使 用 さ れ る 具 体 的 な フ ォ ー マ ッ ト は 、 %X 変 換 指 定 の 場 合 は T_FMT を 、 %EX 変 換 指 定 の 場 合 は ERA_T_FMT を 引 数 に 指 定 し て 、 nl_langinfo (3) を 呼 び 出 す こ と で 取 得 で き る 。 POSIX ロ ケ ー ル で は 、 こ れ は %H:%M:%S と 等 価 で あ る 。

%y

西 暦 の 下 2 桁 (世 紀 部 分 を 含 ま な い 年 ) (00 か ら 99)。 %Ey 変 換 指 定 は 。 %EC 変 換 指 定 で 示 さ れ る 西 暦 以 外 の 年 数 表 記 ("era") に お け る 初 め か ら の 年 数 に 対 応 す る 。 tm_year か ら 計 算 さ れ る 。

%Y

世 紀 部 分 を 含 め た 10 進 表 記 の 西 暦 年 。 %EY 変 換 指 定 は 別 形 式 の 年 表 記 の 完 全 な 表 現 に 対 応 す る 。 tm_year か ら 計 算 さ れ る 。

%z

+hhmm -hhmm の 形 式 の タ イ ム ゾ ー ン (UTC へ の オ フ セ ッ ト 時 間 )。 (SU)

%Z

タ イ ム ゾ ー ン 名 ま た は 省 略 名 。

%+

date (1) 形 式 で の 日 時 。 glibc2 で は サ ポ ー ト さ れ て い な い 。 (TZ)

%%

'%' 文 字

い く つ か の 変 換 指 定 で は 、 変 換 指 定 文 字 の 前 に E O 「 修 飾 子 」 を 置 く こ と に よ っ て 別 書 式 を 使 用 す る よ う に 指 定 す る こ と が で き る 。 現 在 の ロ ケ ー ル に お い て 別 書 式 が 存 在 し な い 場 合 に は 、 通 常 の 変 換 指 定 が 使 用 さ れ た か の よ う に 動 作 す る (SU)。 統 一 UNIX 規 格 (Single UNIX Specification) で は %Ec , %EC , %Ex , %EX , %Ey , %EY , %Od , %Oe , %OH , %OI , %Om , %OM , %OS , %Ou , %OU , %OV , %Ow , %OW , %Oy , に つ い て 記 述 が あ る 。 こ こ で O 修 飾 子 は 別 形 式 の 数 値 シ ン ボ ル (ロ ー マ 数 字 と か ) を 指 定 す る た め に 使 用 す る 。 E 修 飾 子 は ロ ケ ー ル 依 存 の 別 表 現 を 指 定 す る の に 使 用 す る 。 E 修 飾 子 を 使 っ た 場 合 の デ ー タ 表 現 に 適 用 さ れ る ル ー ル は 、 nl_langinfo (3) の 引 数 に ERA を 指 定 す る こ と で 取 得 で き る 。 こ の よ う な 別 表 現 の 例 と し て は ja_JP glibc ロ ケ ー ル で の 日 本 の 年 号 (「 昭 和 」 「 平 成 」 な ど ) に よ る カ レ ン ダ ー 表 記 が あ る 。

返 り 値

終 端 の ヌ ル バ イ ト を 含 め た 結 果 の 文 字 列 の 長 さ が max バ イ ト を 超 え な か っ た 場 合 、 strftime () 関 数 は 配 列 s に 格 納 さ れ た バ イ ト 数 を 返 す (こ の バ イ ト 数 に 終 端 の ヌ ル バ イ ト は 含 ま れ な い )。 終 端 の ヌ ル バ イ ト を 含 め た 結 果 の 文 字 列 の 長 さ が max バ イ ト を 超 え る 場 合 に は 、 strftime () は 0 を 返 し 、 配 列 の 内 容 は 不 定 と な る 。

返 り 値 0 は 必 ず し も エ ラ ー を 意 味 し て い る 訳 で は な い の で 注 意 す る こ と 。 例 え ば 、 多 く の ロ ケ ー ル で は %p は 空 文 字 列 を 返 す 。 同 様 に 、 空 の format 文 字 列 は 空 文 字 列 を 返 す 。

環 境 変 数

環 境 変 数 TZ LC_TIME が 使 用 さ れ る 。 (訳 注 : LC_ALL が 設 定 さ れ て い る 場 合 に は LC_TIME よ り も そ ち ら が 優 先 さ れ る 。 LC_TIME LC_ALL も 設 定 さ れ て い な い 場 合 に は LANG が 使 用 さ れ る 。 )

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-39236-1.png

準 拠

SVr4, C89, C99. 個 々 の 変 換 が 厳 密 に ど の 規 格 に 含 ま れ る か を マ ー ク で 示 し て い る 。 「 マ ー ク な し 」 は ANSI C、 「 SU」 は 統 一 UNIX 規 格 を 、 「 TZ」 は Olson の timezone パ ッ ケ ー ジ 、 「 GNU」 は glibc を 示 す 。 glibc2 で は %+ は サ ポ ー ト さ れ て い な い が 、 い く つ か の 拡 張 が 行 わ れ て い る 。 POSIX.1 で は ANSI C の み を 参 照 し て い る 。 POSIX.2 の date (1) の と こ ろ に 記 述 さ れ て い る 幾 つ か の 拡 張 は strftime () に も 適 用 で き る だ ろ う 。 %F 変 換 は C99 と POSIX.1-2001 に あ る 。

SUSv2 で は 、 %S は 00 か ら 61 の 範 囲 を と る と 規 定 さ れ て い る 。 こ れ は 、 1 分 間 の う ち 閏 秒 が 2 つ 入 る 可 能 性 が 理 論 的 に は あ る こ と を 考 慮 し て の も の で あ る (実 際 に は 、 こ の よ う な 状 況 は こ れ ま で 一 度 も 起 こ っ て い な い )。

注 意

ISO 8601 の 暦 週 日 付

%G , %g , %V は 、 ISO 8601 標 準 に よ り 定 義 さ れ た 週 単 位 表 記 の 年 に よ り 計 算 さ れ る 値 を 出 力 す る 。 ISO 8601 標 準 の 週 単 位 表 記 で は 、 週 は 月 曜 日 か ら 開 始 さ れ 、 週 番 号 は 、 年 の 最 初 の 週 が 01 と な り 、 最 後 の 週 は 52 か 53 と な る 。 週 01 は 、 新 し い 年 が 4 日 以 上 含 ま れ る 最 初 の 週 で あ る 。 言 い 換 え る と 、 週 01 は 、 そ の 年 の 木 曜 日 を 含 む 最 初 の 週 、 つ ま り 1 月 4 日 を 含 む 週 と い う こ と で あ る 。 新 し い 年 の カ レ ン ダ ー 上 の 最 初 の 週 に 新 し い 年 が 3 日 以 下 し か 含 ま れ な い 場 合 、 ISO 8601 の 週 単 位 表 記 で は 、 こ れ ら の 日 を 前 の 年 の 週 53 の 一 部 と み な す 。 例 え ば 、 2010 年 1 月 1 日 は 金 曜 日 で あ り 、 そ の 週 に は 2010 年 の 日 が 3 日 し か 含 ま れ な い 。 し た が っ て 、 ISO 8601 の 週 単 位 表 記 で は 、 こ れ ら の 日 は 2009 年 ( %G ) の 週 53 ( %V ) の 一 部 と な る 。 ISO 8601 の 2010 年 の 週 01 は 2010 年 1 月 4 日 の 月 曜 日 か ら 始 ま る 。 同 様 に 、 2011 年 1 月 の 最 初 の 2 日 は 2010 年 の 週 52 の 一 部 と み な さ れ る 。

glibc で の 注 意

glibc で は 変 換 指 定 に い く つ か 拡 張 を 行 っ て い る (こ れ ら の 拡 張 は POSIX.1-2001 に は 規 定 さ れ て い な い が 、 他 の い く つ か の シ ス テ ム で 同 様 の 機 能 が 提 供 さ れ て い る )。 '%' 文 字 と 変 換 指 定 文 字 の 間 に 、 オ プ シ ョ ン と し て フ ラ グ と フ ィ ー ル ド の を 指 定 で き る (こ れ ら を 指 定 す る 場 合 に は E O 修 飾 子 の 前 に 置 く )。

以 下 の フ ラ グ 文 字 が 使 用 で き る 。

_

(下 線 ) 数 値 の 結 果 文 字 列 の パ デ ィ ン グ (穴 埋 め ) を ス ペ ー ス (空 白 文 字 ) で 行 う 。

-

(ダ ッ シ ュ ) 数 値 の 結 果 文 字 列 に 対 す る パ デ ィ ン グ を 行 わ な い 。

0

変 換 指 定 文 字 が デ フ ォ ル ト で は ス ペ ー ス で パ デ ィ ン グ を 行 う 場 合 で も 、 数 値 の 結 果 文 字 列 へ の パ デ ィ ン グ を 0 で 行 う 。

^

結 果 文 字 列 中 の ア ル フ ァ ベ ッ ト 文 字 を 大 文 字 に 変 換 す る 。

#

結 果 文 字 列 の 大 文 字 ・ 小 文 字 を 入 れ 替 え る (こ の フ ラ グ は 特 定 の 変 換 指 定 文 字 で し か 機 能 し な い 。 そ の 中 で も 本 当 に 有 用 な の は %Z の 場 合 だ け で あ る )。

オ プ シ ョ ン の 10 進 数 の 幅 指 定 子 は フ ラ グ の 後 ろ に 置 く こ と が で き る (フ ラ グ は な く て も よ い )。 フ ィ ー ル ド の 本 来 の 大 き さ が 指 定 さ れ た 幅 よ り も 小 さ い 場 合 、 結 果 文 字 列 の 左 側 は 指 定 さ れ た 幅 ま で パ デ ィ ン グ さ れ る 。

バ グ

出 力 文 字 列 が max バ イ ト を 超 え て し ま う 場 合 、 errno は 設 定 「 さ れ な い 」 。 こ の た め 、 こ の エ ラ ー と 、 format 文 字 列 が き ち ん と 処 理 さ れ て 長 さ 0 の 出 力 文 字 列 が 生 成 さ れ る 場 合 、 を 区 別 す る こ と が で き な い 。 POSIX.1-2001 で は strftime () に 関 し て errno に 設 定 さ れ る 値 に つ い て 一 切 規 定 し て 「 い な い 」 。

gcc (1) の い く つ か の バ ー ジ ョ ン に は お か し な と こ ろ が あ り 、 %c の 使 用 法 に つ い て 以 下 の よ う な 警 告 を 出 す : warning: ‘%c' yields only last 2 digits of year in some locales ( 警 告 : い く つ か の ロ ケ ー ル で は ‘%c' は 年 の 下 2桁 し か 出 力 し な い )。 も ち ろ ん プ ロ グ ラ マ が %c を 使 う の は お 薦 め で き る こ と で あ る 。 %c を 使 う と 適 切 な 日 付 と 時 刻 の 表 記 を 得 る こ と が で き る か ら で あ る 。 gcc (1) の こ の 問 題 を 回 避 し よ う と す る と 、 何 か す っ き り し な い 気 分 に な る だ ろ う 。 比 較 的 き れ い な 回 避 策 は 以 下 の よ う な 中 間 関 数 を 追 加 す る こ と で あ る 。

size_t
my_strftime(char *s, size_t max, const char *fmt,
const struct tm *tm)
{
return strftime(s, max, fmt, tm);
}

現 在 で は 、 gcc (1) は こ の 警 告 を 抑 え る た め の -Wno-format-y2k オ プ シ ョ ン を 提 供 し て お り 、 上 記 の 回 避 策 は も は や 必 要 な い 。

RFC 2822 準 拠 の 日 付 形 式 (%a と %b は 英 語 ロ ケ ー ル )

"%a, %d %b %Y %T %z"

RFC 822 準 拠 の 日 付 形 式 (%a と %b は 英 語 ロ ケ ー ル )

"%a, %d %b %y %T %z"

サ ン プ ル プ ロ グ ラ ム

以 下 の プ ロ グ ラ ム を 使 う と strftime () の 実 験 が で き る 。

以 下 に strftime () の glibc 実 装 が 生 成 す る 結 果 の 例 を い く つ か 示 す 。

$ ./a.out '%m'
Result string is "11"
$ ./a.out '%5m'
Result string is "00011"
$ ./a.out '%_5m'
Result string is " 11"

プ ロ グ ラ ム の ソ ー ス

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char *argv[])
{
char outstr[200];
time_t t;
struct tm *tmp;

t = time(NULL);
tmp = localtime(&t);
if (tmp == NULL) {
perror("localtime");
exit(EXIT_FAILURE);
}

if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {
fprintf(stderr, "strftime returned 0");
exit(EXIT_FAILURE);
}

printf("Result string is \"%s\"\n", outstr);
exit(EXIT_SUCCESS);
}

関 連 項 目

date (1), time (2), ctime (3), nl_langinfo (3), setlocale (3), sprintf (3), strptime (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。