我在PHP和MySQL中都使用日期。我用来以unix格式转换日期的EVerytime。但是这次我把数据库中的字段作为日期。但问题是采用yyyy-mm-dd格式。我想以dd-mm-yyyy格式存储它。如果我设置DB的默认设置,这是否可行。或者每次我必须在PHP中爆炸dd-mm-yyyy格式并将其转换为YYYY-MM-DD格式。这是我的第一个疑问。
第二个查询是我希望从今天的日期获取记录。我是指今天之后的日期。就像今天那么明天那么......就可以在日期字段中使用订单了。
答案 0 :(得分:3)
只需使用:
$date = date('d-m-Y', strtotime($dateFromDB));
这将从MySQL DateTime转换为您指定的格式。
可以按日期字段排序,例如:
SELECT *
FROM table
WHERE date > [yourDate]
ORDER BY date [DESC | ASC]
答案 1 :(得分:0)
你的第二个要求与第一个要求相矛盾
如果您以dd-mm-yyyy
格式存储日期,则无法对日期进行排序。
所以 - 是的,你必须在PHP中“爆炸”dd-mm-yyyy
日期或以任何其他方式格式化它。这不是什么大不了的事。每个人都这样做。
答案 2 :(得分:-1)
如果您有'datetime'类型的字段,则可以使用MySQL-Command:FROM_UNIXTIME(%d)进行转换。 'order by'应该没问题。
答案 3 :(得分:-1)
以yyyy-mm-dd的默认格式存储日期
当你想要在前端显示时
使用以下查询
select otherFields, date_format(dateField,'%d-%m-%Y') from tableName;
按日期订购
SELECT * FROM tbl
ORDER BY date DESC