今週と今月に基づいてレポートを作成したいと思います。これを計算するにはどうすればよいですか?
つまり、今日の日付を取得し、「...月曜日と今日の間」に基づいてデータベースにクエリを実行するにはどうすればよいですか。
date( "N")は、曜日(1月曜日から7日曜日)
を示します。したがって、その日数に戻ると、日曜日に戻ります。
しかし、月曜日が欲しいので、N-1は代わりに月曜日に戻ります
月曜日1-(1-1)= 0日
火曜日2-(2-1)= 1日
...
日曜日7-(7-1)=6日
date( "Ymd"、タイムスタンプ); 日付を与える
日付( "Ymd 00:00:00、タイムスタンプ)は日時を与える
date( "Ym-01"、タイムスタンプ); 月の最初の日を与えます
必要に応じてクエリでこれらを使用します
例えば
<?php
$month_start=date("Y-m-01");
$last_monday=date("Y-m-d", strtotime("-".(date("N")-1)." days"));
$today=date("Y-m-d");
$sql1="SELECT * FROM table WHERE my_date BETWEEN :month_start AND :today";
$sql2="SELECT * FROM table WHERE my_date BETWEEN :last_monday AND :today";
?>
mysql_mysqli_またはPDOのどちらであるかわからないため、SQLを省略しました
$date= new DateTime(date('Y-m-d'));
while(true)
{
if($date->format("w") != 1 )// 0 for sunday, 1 for monday, etc
{
//do things
$date->modify("-1 day");
}else{
return;
}
}