2017-03-19 13 views
0

現在、私はこの日と来週の月曜日と金曜日の日付を取得するために次のものを使用しています。日曜日にのみPHP strtotimeが間違っています

$curWeekStart = date('d.m', strtotime('monday this week')); 
$curWeekEnd = date('d.m', strtotime('friday this week')); 

$nextWeekStart = date('d.m', strtotime('monday next week')); 
$nextWeekEnd = date('d.m', strtotime('friday next week')); 

日「日曜日」は、今日のように、来るまで、すべてが正常に動作します。..その後、上記のみ、この事が私の月曜日ではなく、他の日を示しています。火曜日、水曜日、木曜日、金曜日のeccは働いていない、それは私を月曜日に返すだけである。このエラーは日曜日にのみ発生し、他の日には発生しません。出力だ

$curWeekStart == 13.03; 
$curWeekEnd == 13.03; 

$nextWeekStart == 20.03; 
$nextWeekEnd == 20.03; 

誰もがこれを解決する方法のアイデアを持っていますか?あるいは、これに代わる方法を知っていますか?

答えて

2

a bugの結果はおそらくaffected PHP versions 5.6.23 to 5.6.30, 7.0.8 to 7.0.16, and 7.1.0 to 7.1.2です。それはまたaffects the DateTime classです。

バグはPHP 7.0.17および7.1.3で解決されましたが、PHP 5.6の最新リリース(書面作成時は5.6.30)にはまだ存在していますが、now receives only security fixesになる可能性があります。修正。

影響を受けないバージョンへのアップグレードはおそらく最適な解決策ですが、影響を受けるバージョンyou should be able to add a DateInterval to a Datetimeの回避策が必要な場合は、必要な結果を得ることができます。

+0

ありがとうございました。私はこのようなバグがあることは知らなかった。私はバグのないバージョンにPHPをアップグレードすると思います。 – iMostLiked

関連する問題