我正在使用表格,我的表格中有一个字段,用于存储原始time()
函数值作为日期。
我希望从此表中获取今天日期的行。
所以我发现当time()
func返回一个10位数字,如1316352184
时,前5位数字是年,月,日我需要获得今天的日期,其余的是小时分钟第二个我不需要
所以我今天没有时间和......就像
$t = time();
$t = $t /100000;
$today =(int)$t;
现在我需要从表中获取今天日期的行,但我不知道该怎么做。
如何在查询中获取数据库中存储日期的前5位数字,以便将其与$ date进行比较?
这样的事情:
$sql = "SELECT * FROM TABLE WHERE ((int)date/100000) as date = $today ;
答案 0 :(得分:2)
select * from table
where from_unixtime(unix_timestamp_field,'%Y-%m-%d') = curdate()
答案 1 :(得分:0)
为什么不使用:
$sql = "SELECT * FROM TABLE WHERE date(date) = date(NOW());
答案 2 :(得分:0)
您拥有的是UNIX时间戳。自1970年1月1日以来的秒数。
你可以使用date()和mktime()来计算今天的时间戳,然后做日期>时间戳。如果那是有道理的。
答案 3 :(得分:0)
听起来您应该使用列的DATETIME
或TIMESTAMP
数据类型,以便使用MySQL的日期函数。