我需要解决一个微不足道的问题。 打印庆祝节日前的天数。 我使用以下。 SQL查询再次计算天数
$query='SELECT * FROM '.$table.' WHERE DATE_FORMAT(holiday,CONCAT(YEAR(CURDATE()),"-%m-%d"))BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 10 DAY)';
所以我得到正确的事件数量在未来10天。
如果是生日,我需要打印天数。 I.E. 1983年8月20日 - 将在4天内完成。 我在做什么?
$holiday=new DateTime($row['holiday']);
$today = new DateTime("today");
$diff =$holiday->diff($today)->d;
而且我得到了27 ..这是正确的!由于31年11个月和27天的差异。我可以计算一个月内的总天数,并且可以计算31-27,但这似乎不是最好的方法。 如果我格式化日期我得到字符串和差异不起作用...
任何更容易solutuions - 如何比较日期不考虑年份属性? p.s.不想使用moment.js ..我相信,PHP可以解决它。 p.p.s.也许我应该调整我的SQL查询?
因此,您正在寻找一种方法来选择相同的查询,未来10天的生日列表以及生日前的剩余天数? – berty
yeap - correct) –