ADP
Programming Language ADP

Japanese

Freecode

Sourceforge.net

SourceForge.JP

Loading

ctimestr (時刻表記の変換)

形式
 ctimestr( $input, $scanfmt, $outputfmt, $output)
引数
  • $input: 入力文字列
  • $scanfmt: 入力文字の日付、時刻フォーマット
  • $outputfmt: 出力文字の日付、時刻フォーマット
  • $output: 出力文字列
完了時の動作
  • 変換成功:次の述語を実行に移ります。
  • 変換失敗:input文字列がscanfmtで指定された形式で変換できない場合、バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
 $inputで入っている時刻の形式を変換し$outputへ格納します。$scanfmtは入力文字列の形式を指定します。$outputfmtは出力文字列の形式を指定します。
$scanfmtの指定はC言語のscanfの様に,%に続けて書式指定文字を指定します。それ以外の文字は入力文字列に一致させる必要があります。,$outputfmtの指定はC言語のprintfのように%に続けて書式指定文字を指定します。それ以外の文字はそのまま出力されます。
書式指定文字は以下のとおりです。

書式記号説明
%a週(英略記) Sun, Mon, Tue, Wed, Thu, Fri, Sat
%b月(英略記) Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
%d日 01~31
%H時間 00~24
%m月(数字)01~12
%M分 00~59
%S秒 00~59
%w週(数字) 0~6
%Y年 0000~9999
%%%自身を表す
  
日、月、分、秒に関してですが、1桁の値の場合出力時は0を付与されます(2の場合、02のように出力されます)。入力に関しては0がついている必要はありません(02でも2でも構いません)。

コード例(lib/ctimestr.p)

,$t == 'Sat, 21 May 2011 14:58:41 +0000'
,$inp_fmt == '%a, %d %b %Y %H:%M:%S'
,$out_fmt == '%Y-%m-%d %H:%M:%S'
,ctimestr( $t, $inp_fmt, $out_fmt).prtn;

実行例

D:\sample\lib>adp ctimestr.p
2011-05-21 14:58:41


Powered by ADP.