[英]Converting mysql TIME from 24 HR to AM/PM format
我想在我的網站上顯示我的mysql表中的TIME字段,而不是顯示21:00:00等我希望在晚上8:00顯示。 我需要一個函數/代碼來執行此操作,甚至是正確方向的任何指針。 將第一個回復標記為一些代碼作為正確答復。
使用以下示例以AM / PM格式顯示日期和時間數據...
SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t`
要么
SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t`
兩者都運作正常。
看看這個: http : //dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
我想你會想要date_format()。
示例:DATE_FORMAT($ date,“%r”)
您還可以使用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,對我來說,日期的格式是一個顯示決定&(在我看來)格式化SQL中的日期感覺不對...為什么把顯示邏輯放在你的SQL?
現在 - 如果您沒有在PHP中處理數據並且正在進行特殊查詢,那么DATE_FORMAT()
就是您的選擇。 但是,如果您要在網上顯示數據,我會使用UNIX_TIMESTAMP()
並在PHP中進行格式化...
我的意思是......讓我們說你想改變日期和時間在頁面上的顯示方式......不會覺得“關閉”不得不修改你的SQL進行顯示調整嗎?
我的2美分
我一直試圖這樣做,並從谷歌搜索返回此頁面。 我工作時間為21:00:00;
使用返回9.00PM的DATE_FORMAT(<field>,'%l.%i%p')
在它周圍放一個LOWER()
函數返回9.00pm
所以完整的代碼是; DATE_FORMAT(<field>,'%l.%i%p')
為我工作好......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.