
不知道你最终要达到什么目的,不过给你提供两种方案吧:你觉得哪种用起来方便顺手,就用哪一种吧:
第一种方案:取出数据库中date类型的数据后,进行if比较:
$sql="SELECT `字段名` FROM `vime` EHERE `id`='$id'"
$arr=mysql_query($sql)
$arr=mysql_fatch_array($arr)
$time = date('Y-m-d')
if($arr[字段名]<=$time){
echo '数据库中的日期小于服务器日期'
}
这种方案呢,本人一直在用,比较起来也是确实可用的。但是如果你想直接从数据库中取今天日期的数据的话,就可以用下面的这种方案,这种方案可是对资源节省方面大有好处哦:
第二种方案:
$sql="SELECT * FROM `vime` EHERE `你存储日期的字段名` = now()"
可以比较,具体比较方法如下:
[java] view plain copy
Service:
String hql = "SELECT COUNT(*) FROM Instructions "
hql =hql+where
[java] view plain copy
String strStartDate=ParamUtil.getString(request,"strStartDate","")//格式为:2010-05-03
String strEndDate=ParamUtil.getString(request,"strEndDate","")//格式为:2016-06-01
if(!strStartDate.equals("")){
tWhere+=" and dtCreatDate>=to_date('"+strStartDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')"
}
if(!strEndDate.equals("")){
tWhere+=" and dtCreatDate<=to_date('"+strEndDate+" 23:59:59','yyyy-mm-dd hh24:mi:ss')"
}
[java] view plain copy
int count = objSvr.getCount(tWhere)
打印的语句如下:
[sql] view plain copy
WHERE intVirDel<>1 and dtCreatDate>=to_date('2016-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and dtCreatDate<=to_date('2016-06-24 23:59:59','yyyy-mm-dd hh24:mi:ss')
时间类型可以比较大小,但是日期格式需要转成字符串,或者字符串转成日期来比较
你是说在数据库里面比较么?mysql中日期比较大小2012-04-09 21:40可以用到以下两个方法,无论是timestamp还是datetime类型都可以使用
TO_DAYS(date)
给出一个日期date,返回一个天数(从0年的天数)。
mysql>select TO_DAYS(950501)
->728779
mysql>select TO_DAYS('1997-10-07')
->729669
UNIX_TIMESTAMP(date)
如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一
个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME
字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。
mysql>select UNIX_TIMESTAMP()
->882226357
mysql>select UNIX_TIMESTAMP('1997-10-04 22:23:00')
->875996580
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)