0

過去の先週の火曜日に基づいて、いくつかの日付範囲をリストしようとしています。私が期待していたのは...

June 6 - June 12
May 30 - June5

しかし、私が得たのは

June 6 - June 12
- December 24

私のコードは次のとおりです

$lastWensE1 = date('F j', strtotime("last tuesday"));
$lastWensS1 = strtotime ( '-6 day' , strtotime ( $lastWensE1 ) ) ;

$lastWensE2 = strtotime ( '-7 day' , strtotime ( $lastWensE1 ) ) ;
$lastWensS2 = strtotime ( '-7 day' , strtotime ( $lastWensS1 ) ) ;

echo date('F j', $lastWensS1)." - ".$lastWensE1;
echo "<br/>";
echo date('F j', $lastWensS2)." - ".date('F j', $lastWensE2);
4

2 に答える 2

1

あなたはそれの日付を割り当てているので、ここにコードがあります.

$lastWensE1 = date('F j', strtotime("last tuesday"));
$lastWensS1 = strtotime ( '-6 day' , strtotime ( $lastWensE1 ) ) ;

$lastWensE2 = strtotime ( '-7 day' , strtotime ( $lastWensE1 ) ) ;
$lastWensS2 = strtotime ( '-7 day' , strtotime ( date('F j',$lastWensS1 )) ) ;

echo date('F j', $lastWensS1)." - ".$lastWensE1;
echo "<br/>";
echo date('F j', $lastWensS2)." - ".date('F j', $lastWensE2);
于 2012-06-14T14:57:57.807 に答える
1

結果をフォーマットする前に、過去 3 火曜日のすべての計算を最初に行う必要があります。これにより、より明確なコードが得られます。

$lastTue1 = strtotime('last tuesday');
$lastTue2 = strtotime('-7 day' , $lastTue1 );
$lastTue3 = strtotime('-7 day' , $lastTue2 );

echo date('F j', strtotime('+1 day', $lastTue2))." - ".date('F j', $lastTue1);
echo "<br/>";
echo date('F j', strtotime('+1 day', $lastTue3))." - ".date('F j', $lastTue2);

これは与える:

June 6 - June 12
May 30 - June 5
于 2012-06-14T14:58:05.247 に答える