RSS   コメント・ご質問等お気軽にどうぞ。
 

<<新しい 記事 | 最新の記事 |  古い記事 >>



     [ プログラミング ]   2008/03/31(月)


Perlのプログラミングネタ。


文章中に含まれるラフな日付表記を抜き出し、
2008/06/02 のような「4桁/2桁/2桁」の
フォーマットに直す処理。

対象にしているのは「3/5」のような「月/日」と、
「2008/5/2」のような「年/月/日」。年が欠落
している場合はプログラム実行時の年を挿入する。

チョイと修正するだけで「6月5日」を拾い上げて
「2008-06-05」にしたりと、いろんなフォーマットに
対応できるのでご利用アレ。


----------
$ENV{'TZ'} = "JST-9";
($sec, $min, $hour, $mday, $mon, $year, $wday) = localtime(time);
$year += 1900;

$str =~ s/(\d{4})\/(\d{1,2})\/(\d{1,2})/&formatA;/eg;
$str =~ s/([^\/0-9]|^)(\d{1,2})\/(\d{1,2})/&formatB;/eg;

sub formatA {
@date = split(/\//,$&);
$fix = sprintf("%04d/%02d/%02d", $date[0], $date[1], $date[2]);
return($fix);
}

sub formatB {
$fix = sprintf("%02d/%02d", $2, $3);
$fix = $1 . $year . "/" . $fix;
return($fix);
}
----------








トラックバック トラックバックURLはこちら
http://sorryfull.blog8.fc2.com/tb.php/1177-4b5f7010

[ → ホームページに戻る ]


<< 新しい記事 | 最新の記事 |  古い記事 >>

   
 
文章や画像等の無断利用・転載はご遠慮ください。
なお、当サイトへのリンクは原則フリーです。
Copyright © 1997-2009 CoolandCool. All rights reserved.