0

今週と今月に基づいてレポートを作成したいと思います。これを計算するにはどうすればよいですか?

つまり、今日の日付を取得し、「...月曜日と今日の間」に基づいてデータベースにクエリを実行するにはどうすればよいですか。

4

2 に答える 2

1

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を省略しました

于 2013-03-25T16:13:34.503 に答える
0
$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;
    }
}
于 2013-03-25T15:58:10.663 に答える