MySQL 距离下次出现日期还有多少天?
MySQL number of days until next occurrence of a date?
我正在寻找一种方法来准确倒计时到圣诞节,以天数表示。我试过了...
(SELECT DATEDIFF(CONCAT(YEAR(CURDATE()), '-12-25'), NOW())) as days
然而,这将 return 圣诞节和新年之间的一个负日期。
我想如果数字是负数我可以只加 365 但这不会考虑闰年。对更好的解决方案有什么建议吗?
非常感谢!
这很粗糙,但应该可以解决问题。查看结果是否为负数,如果是则将年份加一:
Select Case DateDiff(Concat(Year(CurDate()), '-12-25'), Now())) < 0
Then DateDiff(Concat(Year(CurDate())+1, '-12-25'), Now()))
Else DateDiff(Concat(Year(CurDate()), '-12-24'), Now())) End As "days"
我正在寻找一种方法来准确倒计时到圣诞节,以天数表示。我试过了...
(SELECT DATEDIFF(CONCAT(YEAR(CURDATE()), '-12-25'), NOW())) as days
然而,这将 return 圣诞节和新年之间的一个负日期。 我想如果数字是负数我可以只加 365 但这不会考虑闰年。对更好的解决方案有什么建议吗?
非常感谢!
这很粗糙,但应该可以解决问题。查看结果是否为负数,如果是则将年份加一:
Select Case DateDiff(Concat(Year(CurDate()), '-12-25'), Now())) < 0
Then DateDiff(Concat(Year(CurDate())+1, '-12-25'), Now()))
Else DateDiff(Concat(Year(CurDate()), '-12-24'), Now())) End As "days"