web-dev-qa-db-ja.com

PHP 4で今週の月曜日の日付を取得します

今週の月曜日の日付を見つける必要があります。 PHP 4でこれを行うにはどうすればよいですか?

12
Ben Jones

最も簡単な方法:

$time = strtotime('monday this week');
83
Davidcologne

これを試して:

return strtotime('last monday', strtotime('next sunday'));
12
nickf
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など。ぜひお試しください。

10
apis17
echo date('Y-m-d', strtotime('previous monday'));

ただし、1つだけ注意してください。今日が月曜日でないことを確認する必要があります。そうしないと、日付が月曜日になります。あなたは次のようにそれを行うことができます

if (date('w') == 1)
{
    // today is monday
}
else
{
    // find last monday
}
7
mr.b

$thisMonday = date('l, F d, Y', time() - ((date('w')-1) * 86400) );

編集:説明

  • date('w')は、曜日の数値表現です(0 =日曜日、6 =土曜日)
  • 1日に86400秒あります
  • 現在の時刻を取得し、減算します(1日*(曜日-1))

したがって、現在水曜日(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

5
Rob

これを試して。

echo date('Y-m-d', strtotime('last monday', strtotime('next monday')));

今日が月曜日の場合は現在の日付を返し、それ以外の場合は先週の月曜日を返します。少なくとも、en_USロケールの私のPHP 5.2.4ではそうです。

2
mr.b

これを試して

$day_of_week = date("N") - 1; 
$monday_time = strtotime("-$day_of_week days");
1
Okochea

私の試み:

<?php
$weekday = date("w") - 1;
if ($weekday < 0)
{
    $weekday += 7;
}
echo "Monday this week : ", date("Y-m-d",time() - $weekday * 86400) , "\n";
?>
0
Greg Reynolds