千年日記の活用ヒント集

項目:

日時挿入の形式は? 時分だけを挿入するには? 曜日も挿入するには?
日時挿入の正式な書式を解説します。

解説:

オプション設定の「日時挿入」を見ると、「日付のみ」「時刻のみ」「日付と時刻」の欄に、次のような修飾文字と、サンプルが出ています。

形式 文字修飾 サンプル
日付のみ (%x) (98/08/17)
時刻のみ (%X) (21:33:12)
日付と時刻 (%c 記入) (98/08/17 21:33:12 記入)

これは、現在の日時を、%xなどの書式指定に従って、文字列に変換しているに過ぎません。したがって、ルールにあった書式を指定すれば、別の形式で日時を挿入することができます。

内部的には C言語ライブライ関数のstrftime()を使用しています。ですから、この関数が認識できる形で書式を与えれば、そのとおりの文字列を得ることができます。

以下に、使用できる書式制御文字を列挙します。

これに従うと、たとえば(%Y/%m/%d %H:%M)とすることで (1998/08/17 21:48)のような文字列を作ることができます。

制御文字得られる結果
%a曜日の省略名
%A曜日の正式名
%b月の省略名
%B月の正式名
%cロケールに応じた日付と時間の表現
%d10 進数で表す月の日付 (01〜31)
%H24 時間表記の時間 (00〜23)
%I12 時間表記の時間 (01〜12)
%j10 進数で表す年頭からの日数 (001〜366)
%m10 進数で表す月 (01〜12)
%M10 進数で表す分 (00〜59)
%p現在のロケールの AM/PM
%S10 進数で表す秒 (00〜59)
%U10 進数で表す週の通し番号。日曜日を週の最初の日とする (00〜51)。
%w10 進数で表す曜日。日曜日を 0 とする (0〜6)。
%W10 進数で表す週の通し番号。月曜日を週の最初の日とする (00〜51)。
%x現在のロケールの日付表示
%X現在のロケールの時刻表示
%y10 進数で表す西暦の下 2 桁 (00〜99)
%Y10 進数で表す 4 桁の西暦

Microsoft Visual C++ 5.0 ヘルプより