strftime = 時刻を文字列に変換する(Gawk, mawk32専用) - AWK
○Gawk on Windows ○Gawk ○mawk32 ×Mawk ×awk
時刻を文字列に変換します。**** 書式
--------
strftime( 書式文字列 [, 時刻] )
--------
o この関数は、Gawkとmawk32の拡張機能です。
o 書式文字列 -- 書式です。文字列の形で指定します。
+ 書き方は下記、機能欄にあります。C言語のstrftimeと同じみたいです。
o 時刻 -- systimeの戻り値と同じ形式(= 整数)で指定します。省略した時は、現在時刻になります。
o 戻り値 -- 変換後の文字列
**** 使用例
--------
BEGIN {
print strftime("%Y/%m/%d %H:%M:%S", systime());
print strftime("%Y/%m/%d %H:%M:%S"); # 時刻を省略した書き方。現在時刻です。
}
--------
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o 指定された時刻を、指定された書式文字列に従って、文字列に変換します。
o 時刻が指定されなかった時は、現在時刻を使用します。
実行結果の例 | 説明 | ||
---|---|---|---|
-- %文字 -- | |||
%% | [%] | ○ | パーセント記号 |
-- 年、月、日 -- | |||
%Y | [2001] | ○ | 西暦年 |
%m | [02] | ○ | 月(01-12) |
%d | [03] | ○ | 日(01-31) |
%y | [01] | ○ | 西暦年の下2桁(00-99) |
%j | [034] | ○ | 年の初めから数えた日数(001-366) |
-- 時、分、秒 -- | |||
%H | [04] | ○ | 時。24時間表記(00-23) |
%M | [05] | ○ | 分(00-59) |
%S | [06] | ○ | 秒(00-59)。閏秒を表示するシステムの場合は61秒までの可能性 |
%I | [04] | ○ | 時。12時間表記(01-12) |
-- 曜日、週番号 -- | |||
%w | [6] | ○ | 曜日番号。日曜日が0(0-6) |
%U | [04] | ○ | 週番号。その年の最初の日曜日から1週目。最初の日曜日の前日までは00。(00-53) |
%W | [05] | ○ | 週番号。その年の最初の月曜日から1週目。最初の月曜日の前日までは00。(00-53) |
** 処理系に依存する動作
o サポートしている書式は、処理系によって異なります。詳しくは
+ 「strftimeの書式一覧。 Gawk on Windows編」
+ 「strftimeの書式一覧。 Gawk for Windows編」
+ 「strftimeの書式一覧。 mawk MBCS (32bit版)編」
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3 -- 非対応
o original = the one true awk(updated May 1, 2007) -- 非対応
**** 参考資料
o strftime関数の機能を調べる上で、参考になったWebページです。
▽Gawk本家ユーザーズガイドにおける、時刻関連機能の説明箇所(英語です)
▽Solaris 10における、C言語 strftime関数の説明
▽Solaris 10における、C言語 strftime関数の日本語対応
▽HP-UX11iにおける、C言語 strftime関数の説明
==
関連ページ:
▼AWKの時刻取得関数と関連機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> ▼AWKの入出力とコマンド実行機能
+
systime = 現在の時刻値(= 基準時刻からの経過秒数)を調べる(Gawk, mawk32専用)
srand = 乱数の種を設定する
mktime = 特定日時の時刻値(= 基準時刻からの経過秒数)を調べる(Gawk専用)
sprintf = 文字列を組み立てる
(2010年6月27日追加。参考資料)