| コメント・ご質問等お気軽にどうぞ。 |
| |
| since 2005. |
|
|
FC2ブログ 冠婚葬祭 |
[ プログラミング ] 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); } ---------- |
|
| 文章や画像等の無断利用・転載はご遠慮ください。 なお、当サイトへのリンクは原則フリーです。 |
Copyright © 1997-2009 CoolandCool. All rights reserved. |