$timenow=time();
$yearnow=date("Y",$timenow);
$monthnow=date("m",$timenow);
$daynow=date("d",$timenow);
$nowdays=gmmktime(00,00,00,$monthnow,$daynow,$yearnow);
$somedays=$nowdays+(-)n*3600*24;
$someyear=date("Y",$somedays);
$somemonth=date("m",$somedays);
$someday=date("d",$somedays);
$yearnow=date("Y",$timenow);
$monthnow=date("m",$timenow);
$daynow=date("d",$timenow);
$nowdays=gmmktime(00,00,00,$monthnow,$daynow,$yearnow);
$somedays=$nowdays+(-)n*3600*24;
$someyear=date("Y",$somedays);
$somemonth=date("m",$somedays);
$someday=date("d",$somedays);
mysql
就用gmmktime()函数比较;
从数据库的时间里取得年月日的三个变量;然后用gmmktime()得到一个数值,该值是指现在距1970年01月01日的秒数。
用相同的方法得到其他时间的对应数。
这样就可以比较了。
sql语句怎样写?
... where DATE_ADD(datefield,INTERVAL $n DAY) > now()
含义
datetime型字段 datefield 加 $n 天后大于当前日期则成立
即取$n天以来的数据$n 可以是负值,等价于DATE_SUB
而我不需要如此,该怎么办?
而我不需要如此,该怎么办?
修改字段的default属性2、数据库中存的是2003-04-24 14:43:08,我如何在页面显示成2003-04-24
在select中使用DATE_FORMAT(date,format) 看来你的认真看看mysql用户手册了
if (ceil((strtotime($this_date)-strtotime($row["send_date"]))/86400)>2){print("<html><head><title></title></head><body><script> alert('对不起,已经超过两天');window.close();</script></body></html>");exit();}
其中$row["send_date"]
是一个datetime字段
/86400是指得到日期的整数
>2是指大于两天,
可以自己再看看
我没有设default属性,但它自已也会添加,怪了。呵呵,我以前没有过mysql,现在立刻上马做事想看也来不及了。
在select中使用DATE_FORMAT(date,format)
echo $myarray[0];
不过使用mysql的函数直接可以得到的。
mysql的datetime在输出时是以系统的日期格式用字符串形式输出的。
在php中若需改变其格式需要先用strtotime函数将其转换成time类型,然后用date函数设置格式。
例:
echo date("Y-m-d",strtotime("2003-03-25 11:32:45"));