1

01:00:00 から 24:00:00 までのすべての時間を表示する PHP スクリプトが必要です。
これまでのところ、私はこれを行っています:(このコードはwhileループにあります)

  $hour++;
  $hour_after_midnight = date('G:i:s',mktime(1,0,0,1,1,2011));
  $next_hour = date($this_hour,strtotime('+1 hour'));
  echo $next_hour;

しかし、上記のコードは以下を返します:

1:00:00 x24回

私が使用している日付関数が間違っていると思います。
どんな助けでも大歓迎です

4

3 に答える 3

4
<?php
$hour = 0;
while($hour++ < 24)
{
    $timetoprint = date('G:i:s',mktime($hour,0,0,1,1,2011));
    echo $timetoprint;
}
?>

それはあなたがやろうとしている方法でそれを行いますか?理由により、日付変数をその形式にする必要があると思います。それ以外の場合は、コメントが有効です。

于 2011-07-19T08:36:00.170 に答える
1

試す

$this_hour = $next_hour; 

(後)、ループ内のechoの時間オフセットの時間オフセットを更新するのを忘れたようです。

あなたはそれをしたいかもしれません$hour++が、その変数はこの単一のステートメントの隣のコードでは使用されていません.

しかし、この答えは、ほとんどのコードが間違っているように見えるのと同じくらい間違っている可能性があります(十分な敬意を払って)。コーディング中に発生した実際の問題をより適切に説明すれば、SO のユーザーはより良い答えを得ることができます。Edgar Velasquezによる答えも参照してください。他のコード例があるリム。

たとえば、具体的にどの問題についてdatemktimeまたはstrtotime関数を理解するのに問題がありますか?

変数をループで操作しているときに、変数がどうなるかを理解するのに問題がありますか?

于 2011-07-19T08:36:17.580 に答える
0

これを試して:

$iTimestamp = mktime(1,0,0,1,1,2011);
for ($i = 1; $i < 24; $i++) {
    echo date('H:i:s', $iTimestamp) . "\n<br />";
    $iTimestamp += 3600;
}
于 2011-07-19T08:48:08.763 に答える