显示周一开始的一周报告

时间:2013-03-25 15:52:51

标签: php mysql

我想根据本周和本月生成一份报告。我该如何计算?

我的意思是:我如何获得今天的日期并根据“... BETWEEN星期一和今天”查询数据库

2 个答案:

答案 0 :(得分:1)

日期(“N”)将为您提供一周中的某一天(1个星期一到7个星期日)
所以回过头来,这几天就会把你带回星期天 但是因为我们想要星期一,N-1会把你带回星期一而不是

周一1 - (1-1)= 0天
星期二2 - (2-1)= 1天
...
周日7 - (7-1)= 6天

日期(“Y-m-d”,时间戳);会给出日期
date(“Y-m-d 00:00:00,timestamp”)将给出日期时间

日期(“Y-m-01”,时间戳);将给出该月的第一天

根据需要在您的查询中使用这些

e.g。

<?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";

?>

我省略了sql,因为我们不知道你的mysql_ mysqli_或PDO

答案 1 :(得分: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;
    }
}