我有这个脚本计算天,直到有人的下一个生日(这可能是一个更好的方式)但是无论如何,如果有人的生日是3天前,我希望它给我362天,直到下一个生日,但它给-3代替.没问题,添加365天以获得正确的答案,但它根本不起作用,我无法解决为什么...代码:
$resultcurdate = mysql_query("select curdate()",$db);
$curdate = mysql_fetch_array($resultcurdate);
$curdate1 = explode('-', $curdate[0]);
$day1 = $curdate1[2];
$month1 = $curdate1[1];
$year1 = $curdate1[0];
$birthdate = explode('-', $databack10[birthday]);
$day = $birthdate[2];
$month = $birthdate[1];
$year = $birthdate[0];
$year = $year1;
if ($month1>$month){$year=$year+1;}
$birthdate5 = $year."-".$month."-".$day;
$resultdate = mysql_query("select datediff('$birthdate5', now())",$db);
$databackdate = mysql_fetch_array($resultdate);
if($databackdate < '0'){$databackdate = (365 + $databackdate); }
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?
有没有办法用SQL查询执行此操作?生日是日期字段类型.
select
date_field,
abs(if(right(curdate(),5) >= right(date_field,5),
datediff(curdate(),concat(year(curdate()+ interval 1 year),right(date_field,6))) ,
datediff(concat(year(curdate()),right(date_field,6)),curdate()))) as days
from table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |