在我的表中,日期存储如下:2011-03-03T13:30:00
我正在尝试输出这样的日期:2011年3月3日下午1:30
我宁愿把它用在查询中,而不是使用php来格式化它,但我在做这件事时遇到了一些困难.尝试DATE_FORMAT的各种迭代,但它没有给我我想要的东西,也许是因为它的存储方式?
在处理日期时,您基本上可能需要执行两种不同的操作:日期到字符串,反之亦然.您可以使用的功能是DATE_FORMAT()和STR_TO_DATE().完整的参考资料可以在手册中找到.
用法示例:
SELECT
DATE_FORMAT(CURRENT_TIMESTAMP, '%d/%m/%Y %H:%i:%s'),
STR_TO_DATE('31/12/2001 23:55:00', '%d/%m/%Y %H:%i:%s')
Run Code Online (Sandbox Code Playgroud)
如果您的日期不是真实日期而是字符串,则需要转换两次:从字符串到日期,再次从日期到字符串:
SELECT
STR_TO_DATE('2011-03-03T13:30:00', '%Y-%m-%dT%H:%i:%s'),
DATE_FORMAT(STR_TO_DATE('2011-03-03T13:30:00', '%Y-%m-%dT%H:%i:%s'), '%M %e, %Y %l:%i %p')
Run Code Online (Sandbox Code Playgroud)