php sql数据库里的date型数据,如何和服务器时间进行if比较?

php sql数据库里的date型数据,如何和服务器时间进行if比较?,第1张

if比较吗?

不知道你最终要达到什么目的,不过给你提供两种方案吧:你觉得哪种用起来方便顺手,就用哪一种吧:

第一种方案:取出数据库中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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9253894.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存