我想在我的网站上显示我的mysql表中的TIME字段,而不是显示21:00:00等我希望在晚上8:00显示。我需要一个函数/代码来执行此操作,甚至是正确方向的任何指针。将第一个回复标记为正确的回复。
答案 0 :(得分:12)
检查出来:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
我想你想要date_format()。
示例:DATE_FORMAT($ date,“%r”)
答案 1 :(得分:12)
显示日期&采用以下示例的AM / PM格式的时间数据...
SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t`
OR
SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t`
两者都正常运作。
答案 2 :(得分:2)
您还可以使用MYSQL的UNIX_TIMESTAMP()
函数选择列作为unix时间戳。然后在PHP中格式化它。 IMO这更灵活......
select a, b, c, UNIX_TIMESTAMP(instime) as unixtime;
PHP中使用date()
函数&以任何你想要的方式格式化它。
<?php echo date('Y/m/d', $row->unixtime); ?>
我喜欢这种方法而不是在SQL中格式化它的原因是b / c,对我来说,日期的格式是显示决定&amp; (在我看来)格式化SQL中的日期感觉不对...为什么将显示逻辑放在SQL中?
现在 - 如果您不是在处理PHP中的数据并且正在进行临时查询,那么DATE_FORMAT()
就是可行的方法。但是,如果您要在网络上显示数据,我会选择UNIX_TIMESTAMP()
并在PHP中进行格式化...
我的意思是......让我们说你要改变约会的日期和方式。时间显示在页面上...不会觉得“关闭”必须修改SQL以进行显示调整吗?
我的2美分答案 3 :(得分:1)
我一直在努力做同样的事情,并从Google搜索返回此页面。我的工作时间是21:00:00;
使用DATE_FORMAT(<field>,'%l.%i%p')
返回9.00PM
在其周围放置LOWER()
函数以返回9.00pm
所以完整的代码是; DATE_FORMAT(<field>,'%l.%i%p')
为我工作好......
答案 4 :(得分:0)