好的,我有这段代码。
else if($_POST['sdate'] == 'this month')
{
$startdate = date("m/d/y");
$newdate = Datetime::createFromFormat("m/d/y",$startdate);
$dpicker = $newdate->format("Y-m-d");
echo $dpicker;
$enddates = date("m/d/y");
$newEdate = Datetime::createFromFormat("m/d/y",$enddates);
$newEdate->modify('-20 day');
$edpicker = $newEdate->format("Y-m-d");
echo $edpicker;
$thdate = $dpicker;
$thdates = $edpicker;
$sql = "SELECT * FROM orders WHERE loggedtime BETWEEN :times AND :time";
$q=$con->prepare($sql);
$q->bindparam(":time", $thdate);
$q->bindparam(":times", $thdates);
$q->execute();
while($data=$q->fetch(PDO::FETCH_ASSOC))
{
echo $data['customer'];
}
}所以现在$edpicker将从今天起20天前.我想计算一下今天是第七天,所以只能追溯到七天前。我希望这个变量总是回到这个月的第一天。所以如果今天是18号..。它可以追溯到18天前。
做这件事最好的方法是什么?
发布于 2016-01-07 18:08:10
$firstDayOfMonth = new \DateTime('first day of this month');
发布于 2016-01-07 18:11:45
如果您使用的是PHP5.3,您可以使用“本月的第一天”。即:
$edpicker = new DateTime('first day of this month');否则,如果使用的小于PHP5.3,则可以使用
("m/01/y", $enddates)https://stackoverflow.com/questions/34662030
复制相似问题