我正在使用包含现有数据的表格。
' date' column的数据如下:
2015年9月26日,星期六 2015年9月26日星期六 2015年9月27日星期六 2015年9月27日星期六
etc..etc ..
使用PHP(或者只是直接的MySQL?)我怎样才能拉出/列出特定日期(今天的日期)之前的记录(数据)
像这样的事情..但是以“约会”的方式(咳嗽)在3表中。我不确定如何正确处理它。
SELECT s.sessioncode, s.sessionname, s.sessiontime FROM fc15_sessions AS s WHERE s.sessiondate < **TODAYS_DATE** ORDER BY s.id
使用一些PHP进行测试并弄乱它&#39; date&#39;格式...
这似乎有用,可以与我合作......但不确定我是如何将它放在一起进行验证的:
$string = 'Saturday, September 26, 2015';
$timestamp = strtotime($string);
echo "DATE CHECK: " . date("Y-m-d H:i:s", $timestamp);
MySQL尝试:
SELECT s.id, s.sessiondate, s.sessioncode, s.sessionname, s.sessiontime
FROM fc15_sessions AS s
WHERE STR_TO_DATE(s.sessiondate, '%m/%d/%Y' ) > date( "m/d/Y" )
ORDER BY s.id
答案 0 :(得分:1)
您可以使用此MySQL函数:
- STR_TO_DATE(字符串,格式)
- DATE_FORMAT(日期,格式)
- CURDATE()或等效CURRENT_DATE()
所以你的最终MySQL查询就是:
SELECT s.sessioncode, s.sessionname, s.sessiontime
FROM fc15_sessions AS s
WHERE DATE_FORMAT(STR_TO_DATE(s.sessiondate, '%W, %M %d, %Y'),"%Y-%m-%d") < CURDATE()
ORDER BY s.id
注意:您必须使用格式&#34;%Y%m%d&#34; 或&#34;%Y-%m - %d&#34; (即带或不带分隔符的YYYY-MM-DD)用于正确的日期字符串比较。
在这种情况下,您必须使用格式&#34;%Y-%m-%d&#34; 作为函数 CURDATE()(或等效) CURRENT_DATE())以此格式返回结果。
答案 1 :(得分:0)
最终......最终(并且反对所有评论都无法完成)..
这最终对我有用。 (正确使用STR_TO_DATE参数,我错了,它的数据当前是如何格式化的,而不是你想要它格式化的方式)
"D"&$K$26"