我想根据本周和本月生成一份报告。我该如何计算?
我的意思是:我如何获得今天的日期并根据“... BETWEEN星期一和今天”查询数据库
答案 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;
}
}