dポイントプレゼントキャンペーン実施中!

すみません。
これを、西暦年表示を加えたものにしたいのですが、どうすればよかったでしょうか…。

見本:  2007年01月04日12時59分


*-*-*-*-*-*-*-*



sub time_get {
@ts = localtime(time);# $ts[4]月:$ts[3]日:$ts[2]時: $ts[1]分
$tm = time;
$ts[4]++;
$ts[5] = $ts[5] +1900;
if ($ts[1] < 10) { $ts[1] = "0$ts[1]"; }
if ($ts[2] < 10) { $ts[2] = "0$ts[2]"; }
if ($ts[3] < 10) { $ts[3] = "0$ts[3]"; }
if ($ts[4] < 10) { $ts[4] = "0$ts[4]"; }
$ad = $ENV{'REMOTE_ADDR'};
$ip = $ad . gethostbyaddr(pack("C4",split(/\./,$ad)),2);



*-*-*-*-*-*-*-*


sub rank_in {
$file_name = "list1.txt";
&file_read;

$now_tm = "$ts[4]/$ts[3] $ts[2]:$ts[1]";

foreach $line (@data){
($k,$i,$name,$ips,$j) = split(/,/,$line);
if ($ip eq $ips || $name eq $FORM{name})
{
$line ="";
if( $gt > $k )
{$gt=$k; $now_tm = $i;}
}
push(@rank,$line);

}
@data = @rank;

$t=$FORM{total};
$line = substr( " $t" , length $t, 10);
if($FORM{home} eq 'http://'){$FORM{home} ='';}

$line = "$line,$now_tm,$FORM{name},$FORM{comt},$FORM{home},$ip,\n";
push(@data,$line);
push(@data,"end");
@data = sort(@data);

@rank =();$i=0;
foreach $line (@data) {
if (++$i == $rank_save || $line eq "end" ) { last; }
push(@rank,$line);
}
@data = @rank;
&write_file;
}

A 回答 (2件)

すいません、訂正します。



誤)
$now_tm = ("%04d/%02d/%02d %02d:%02d", $ts[5], $ts[4], $ts[3], $ts[2], $ts[1]);

正)
$now_tm = sprintf("%04d/%02d/%02d %02d:%02d", $ts[5], $ts[4], $ts[3], $ts[2], $ts[1]);
    • good
    • 0
この回答へのお礼

おお!
素早い回答、おおきにです!
では、ちょっとやってみますね。

お礼日時:2007/01/03 18:42

なんか面倒なことしてますね。



以下の部分を削除して、
if ($ts[1] < 10) { $ts[1] = "0$ts[1]"; }
if ($ts[2] < 10) { $ts[2] = "0$ts[2]"; }
if ($ts[3] < 10) { $ts[3] = "0$ts[3]"; }
if ($ts[4] < 10) { $ts[4] = "0$ts[4]"; }


$now_tmの行をこれに変えればいけるんじゃないでしょうか。
$now_tm = ("%04d/%02d/%02d %02d:%02d", $ts[5], $ts[4], $ts[3], $ts[2], $ts[1]);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!