如何从2010-10-24 09:02:46将我的日期字段从mysql转换为在我的网站上发布为'2010年10月24日上午9:02'
(SELECT TIME_FORMAT(`dPostTime`, '%b %e %l:%i %p')) as post_time
这不会发布日期,只发布时间。
非常感谢!
答案 0 :(得分:2)
SELECT DATE_FORMAT(dPostTime, '%b %e, %l:%i%p') AS post_time
用“今天”替换%b%e:
SELECT
CASE WHEN DAY(dPostTime) = DAY(NOW()) THEN
DATE_FORMAT(dPostTime, 'Today at %l:%i%p')
ELSE
DATE_FORMAT(dPostTime, '%b %e, %l:%i%p') END AS post_time
答案 1 :(得分:1)
这与
DATE_FORMAT()
函数类似,但格式字符串可能只包含小时,分钟,秒和微秒的格式说明符。
如果您想格式化日期,请使用DATE_FORMAT
function。
答案 2 :(得分:0)
我建议更好的选择是从数据库中选择它作为时间戳值,然后使用PHP的date()函数将文本值输出到站点。时间戳比格式化日期更容易使用。即使您只想将其直接输出到网页,我仍然希望将格式保留为PHP而不是SQL。
SQL:
SELECT UNIX_TIMESTAMP(dPostTime) as post_time ...
PHP:
print date('M d Y h:iA', $data['post_time']);