2016-01-02 116 views
0

我使用jQuery的如下:回声日期2015年12月

$rezultat = "SELECT sum(vrednost) as vrednost FROM vrednosti WHERE username = '$username' AND cas between '".date("Y-".(date("m")-1)."-01")."' AND '".date("Y-".(date("m")-1)."-31 23:59:59")."' "; 

这工作得很好,在上月是在同一年为当前日期。

但现在我遇到了麻烦,因为不能回应十二月,这是不同的一年(2015年)比一月(2016年)。

有什么优雅的解决方案吗?

回答

0

您可以使用strtotime函数获取上个月的日期,并将日期时间值作为第二个参数传递,如date("Y-m-d", strtotime("today -1 month")),也可以通过更改日期函数参数中的日期格式来获取任何月份的最后日期。要获得上个月的最后一个日期,您可以使用date("Y-m-t", strtotime("today -1 month"))

所以,你的情况,试试这个:

$rezultat = "SELECT sum(vrednost) as vrednost FROM vrednosti WHERE username = '$username' AND cas between '". date("Y-m-01", strtotime("today -1 month")) ."' AND '".date("Y-m-t", strtotime("today -1 month")) ."' "; 
+0

纠正我,如果我错了,但是从1.12.2015-31.12.2015做这个查询选择日期? – Aristokrat

+0

是的,它会产生像“2015-12-01”和“2015-12-31”这样的标准,尽管你不需要标准时间。 – LIMEXS

+0

谢谢你的解决方案!我希望下个月不会出现任何新问题... :) – Aristokrat

0
$rezultat = "SELECT sum(vrednost) as vrednost FROM vrednosti WHERE username = '$username' AND cas between '".date("Y-m-01", mktime(23, 59, 59, date("n")-1, date("j"), date("Y")))."' "; 
相关问题