首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发出日期()函数。需要从一个月的第一个月开始计算

问发出日期()函数。需要从一个月的第一个月开始计算
EN

Stack Overflow用户
提问于 2016-01-07 17:59:15
回答 2查看 56关注 0票数 0

好的,我有这段代码。

代码语言:javascript
复制
        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天前。

做这件事最好的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-07 18:08:10

$firstDayOfMonth = new \DateTime('first day of this month');

票数 1
EN

Stack Overflow用户

发布于 2016-01-07 18:11:45

如果您使用的是PHP5.3,您可以使用“本月的第一天”。即:

代码语言:javascript
复制
$edpicker = new DateTime('first day of this month');

否则,如果使用的小于PHP5.3,则可以使用

代码语言:javascript
复制
("m/01/y", $enddates)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34662030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档