blue 鴛鴦呼蝉庵日乗
2004.06.02  cgi

 食事を作って、食べるとき、癖があります。使ったフライパンとか菜箸とか、すべて洗ってから食べるのです。作ったら、使った道具は全てシンクに入れて、食べ終わってから洗うという家庭もあるでしょうが、私の場合は、流しにはこびりついたものなどを冷やしておく以外は、洗ってしまいますね。フライパンも熱くても、裏に水を掛けてから洗ってしまいます。
  一つは、食べ終わったら、食器を流しに置きたいからと、フライパンなどの油汚れと食器と混ぜると、食器も汚れるからですね。だから、スポンジも念入りに洗います。
  洗う時間だけ、作った料理が冷えるかもしれませんが、ほんの数分ですから、そんなに影響はありません。

 cgiでよく使われるのに、appe-bordがあります。そしてもう一つにunicoがありますね。unicoは日付を後から付け替えても使えます。ただ、フレーム式にすると、インデックスは替えた日付の通りですが、本文参照が、元に描いた日付のままです。これは、u_diary.cgi ではなく、u_sngl.cgi にエラー処理が分岐していなかったのが、原因でした。

で、u_sngl.cgi の以下の部分を書き換えると、成功します。これは、いづれ「ソフトウェアライブラリ」からダウンロードできるようにしておきます。

#---------------------------- 日付フォーマット
sub date{
$log_date = $_[0];
($sec, $min, $hour, $mday, $mon, $year, $w) = gmtime($log_date + $tz*60*60);

$log_date = $date;

$log_date =~ s/%Y/$year + 1900/ge;
$log_date =~ s/%y/substr($year + 1900,-2)/eg;

$log_date =~ s/%M/$month[$mon]/g;
$log_date =~ s/%m/sprintf("%02d",$mon + 1)/eg;
$log_date =~ s/%n/$mon + 1/g;

$log_date =~ s/%d/sprintf("%02d",$mday)/eg;
$log_date =~ s/%j/$mday/g;

$log_date =~ s/%D/$week[$w]/g;

if($hour >= 12){ $hhour = $hour-12; $m = 1;}else{$hhour = $hour;}
$log_date =~ s/%h/sprintf("%02d",$hhour)/eg;
$log_date =~ s/%H/sprintf("%02d",$hour)/eg;
$log_date =~ s/%g/$hhour/g;
$log_date =~ s/%G/$hour/g;
$log_date =~ s/%a/$m[$m]/g;

$log_date =~ s/%I/sprintf("%02d",$min)/eg;
$log_date =~ s/%i/$min/g;

$log_date =~ s/%S/sprintf("%02d",$sec)/eg;
$log_date =~ s/%s/$sec/g;

return $log_date;
}

sub datelog{
my ($year, $mon, $mday, $hour, $min, $sec) = split(/,/,$_[0]);
$w = &zeller($year +1900, $mon +1, $mday);

$log_date = $date;

$log_date =~ s/%Y/$year + 1900/ge;
$log_date =~ s/%y/substr($year + 1900,-2)/eg;

$log_date =~ s/%M/$month[$mon]/eg;
$log_date =~ s/%m/sprintf("%02d",$mon + 1)/eg;
$log_date =~ s/%n/$mon + 1/eg;

$log_date =~ s/%d/sprintf("%02d",$mday)/eg;
$log_date =~ s/%j/$mday/eg;

$log_date =~ s/%D/$week[$w]/eg;

if($hour >= 12){ $hhour = $hour-12; $m = 1;}else{$hhour = $hour;}
$log_date =~ s/%h/sprintf("%02d",$hhour)/eg;
$log_date =~ s/%H/sprintf("%02d",$hour)/eg;
$log_date =~ s/%g/$hhour/eg;
$log_date =~ s/%G/$hour/eg;
$log_date =~ s/%a/$m[$m]/eg;

$log_date =~ s/%I/sprintf("%02d",$min)/eg;
$log_date =~ s/%i/$min/eg;

$log_date =~ s/%S/sprintf("%02d",$sec)/eg;
$log_date =~ s/%s/$sec/eg;

return $log_date;
}

sub zeller{
my($year, $mon, $mday) = @_;
if ($mon == 1 or $mon == 2) {
$year--;
$mon += 12;
}
int($year + int($year / 4) - int($year / 100) + int($year / 400) + int((13 * $mon + 8) / 5) + $mday) % 7;
}

#---------------------------- テンプレート変数置き換え

けっこういいかげんに処理してますね。二重になっていますから、どなたか、簡単に処理していただけるといいかと。
  テストして下さった方に感謝。

 3:50就寝、7:00起床、3:10睡眠。
  朝食、パンケーキ1枚。昼食、パン2枚、みそ汁。夕食、外食。夜食、なし。

 
前へ 目次 次へ
かくかい Copyright 黒川孝広 © 2004,Kurokawa Takahiro All rights reserved. かくかい