今週の月曜日の日付を見つける必要があります。 PHP 4でこれを行うにはどうすればよいですか?
最も簡単な方法:
$time = strtotime('monday this week');
これを試して:
return strtotime('last monday', strtotime('next sunday'));
echo date('Y-m-d',time()+( 1 - date('w'))*24*3600);
来週:
echo date('Y-m-d',time()+( 8 - date('w'))*24*3600);
月曜日に1、火曜日に2、水曜日に3など。ぜひお試しください。
echo date('Y-m-d', strtotime('previous monday'));
ただし、1つだけ注意してください。今日が月曜日でないことを確認する必要があります。そうしないと、日付が前月曜日になります。あなたは次のようにそれを行うことができます
if (date('w') == 1)
{
// today is monday
}
else
{
// find last monday
}
$thisMonday = date('l, F d, Y', time() - ((date('w')-1) * 86400) );
編集:説明
date('w')
は、曜日の数値表現です(0 =日曜日、6 =土曜日)したがって、現在水曜日(3日目)の場合、月曜日は2日前です。
time() - (86400 * (3 - 1))
= time() - 86400 * 2
月曜日(1日目)の場合、次のようになります。
time() - (86400 * (1 - 1))
= time() - 86400 * 0
= time()
日曜日(0日目)の場合、月曜日は明日です。
time() - (86400 * (0 - 1))
= time() - -86400
= time() + 86400
これを試して。
echo date('Y-m-d', strtotime('last monday', strtotime('next monday')));
今日が月曜日の場合は現在の日付を返し、それ以外の場合は先週の月曜日を返します。少なくとも、en_USロケールの私のPHP 5.2.4ではそうです。
これを試して
$day_of_week = date("N") - 1;
$monday_time = strtotime("-$day_of_week days");
私の試み:
<?php
$weekday = date("w") - 1;
if ($weekday < 0)
{
$weekday += 7;
}
echo "Monday this week : ", date("Y-m-d",time() - $weekday * 86400) , "\n";
?>