0

私は答えを見つけようとしますが、結果はありません

問題は:

日曜日の関数では、来週の月曜日の日付を返します

$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Moscow'));
$date->setTimestamp(strtotime('Monday this week'));

echo $date->format("d.m.Y"); 

ただし、それ以外の日 (日曜日を除く) には、月曜日の正しい値が返されます。

私はロケール manualy を設定しましたが、これには月曜日があります-週の最初の日ですが、PHPは日曜日がまだ最初の日であると「考えています」。バグですか?? または私は何か間違っていますか?

4

1 に答える 1

0

には既知の特異性があるようですstrtotime。コメントで言及されています:

http://www.php.net/manual/en/datetime.formats.relative.php#108317

strtotime()異なるロケールについて具体的に言及していませんが、異なるロケールで正しく動作しない場合でも、まったく驚くべきことではありませんnext/this week

それらのいずれかが必要なものを取得するかどうかをthis Monday試してみてください。next Monday

于 2013-02-09T23:46:51.750 に答える