POSIXモジュールのstrftime
UNIX系標準仕様の関数を、Perlでも使えるようにするPOSIXモジュール。その中でもstrftime関数は、日付や時刻を特定のフォーマットで出力したい時の選択肢のひとつです。
が、Windows人としては、POSIXと言われてもリファレンスが無いと分からないです。ということで、strftimeのフォーマットの指定方法のメモです。
モジュールの使い方
useするときは関数名を指定して読み込む
use POSIX qw(strftime);
# 現在の日付・時刻を、取得
my $datetime = strftime("%a, %d %b %Y %H:%M:%S %z", localtime());
[ ページ先頭へ ]
フォーマットの指定方法
| %Y | 西暦4桁 |
|---|---|
| %C | 西暦の上2桁(世紀) |
| %y | 西暦の下2桁 |
| %m | 月(1~9月は1桁目に0) |
| %b | 月名の省略形 |
| %h | %bと同じ |
| %B | 月名 |
| %d | 日(1~9日は1桁目に0) |
| %e | 日(1~9日は1桁目にスペース) |
| %a | 曜日の省略名 |
| %A | 曜日 |
| %u | 週の何番目の日か(1~7、1=月曜) |
| %w | 週の何番目の日か(0~6、0=日曜) |
| %H | 時(24時間表記、0~9時は1桁目に0) |
|---|---|
| %k | 時(24時間表記、0~9時は1桁目にスペース) |
| %I | 時(12時間表記、0~9時は1桁目に0) |
| %l | 時(12時間表記、0~9時は1桁目にスペース) |
| %p | その地域でのAM/PMに相当する文字列(正午はPM、真夜中はAM) |
| %P | %pと同じ内容を小文字で(am/pmなど) |
| %M | 分(0~9分は1桁目に0) |
| %S | 秒(0~9秒は1桁目に0、閏秒時は60) |
| %z | GMTへのオフセット時間(RFC 822形式のとき使う) |
| %Z | タイムゾーン |
| %c | その地域で一般的な日付・時刻 |
|---|---|
| %x | その地域で一般的な日付(時刻含まず) |
| %X | その地域で一般的な時刻(日付含まず) |
| %D | %m/%d/%yと同じ |
| %F | ISO 8601形式の日付 %Y-%m-%dと同じ |
| %r | 12時間表記の時間 %I:%M:%S %pと同じ |
| %T | 24時間表記の時間 %H:%M:%Sと同じ |
| %R | 24時間表記の時間、秒除く %H:%Mと同じ |
| %s | エポック秒 |
|---|---|
| %j | 年日(001~366) |
| %U | 年週(00~53、その年の最初の日曜から01週) |
| %W | 年週(00~53、その年の最初の月曜から01週) |
| %V | 年週(00~53、その年の4日以上含まれる最初の週の月曜から01週、ISO 8601:1988 形式) |
| %G | 西暦4桁(ISO 8608形式の年週が前年・翌年になる場合はその年) |
| %g | 西暦の下2桁(ISO 8608形式の年週が前年・翌年になる場合はその年) |
| %n | 改行 |
| %t | タブ |
置き換え文字以外は、そのまま文字として返される。
最終更新日:2010/05/30
[ ページ先頭へ ]