I want to display the TIME field from my mysql table on my website, but rather than showing 21:00:00 etc I want to show 8:00 PM. I need a function/code to do this or even any pointers in the right direction. Will mark the first reply with some code as the correct reply.
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
Show the date & time data in AM/PM format with the following example...
OR
Both are working properly.
Check this out: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
I'd imagine you'd want date_format().
Example: DATE_FORMAT($date, "%r")
Use DATE_FORMAT()
DATE_FORMAT(<Fieled>,'%h:%i:%s %p')
or
DATE_FORMAT(<Fieled>,'%r')
I had been trying to do the same and got this page returned from a Google search. I worked a solution for the time 21:00:00;
using
DATE_FORMAT(<field>,'%l.%i%p')
which returned 9.00PMputting a
LOWER()
function around it to return 9.00pmSo the full code is;
DATE_FORMAT(<field>,'%l.%i%p')
Worked OK for me ...
You can also select the column as a unix timestamp using MYSQL's
UNIX_TIMESTAMP()
function. Then format it in PHP. IMO this is more flexible...The in PHP use the
date()
function & format it any way you want.The reason I like this method as opposed to formatting it in SQL is b/c, to me, the date's format is a display decision & (in my opinion) formatting the date in SQL feels wrong... why put display logic in your SQL?
Now - if you're not processing the data in PHP and are doing adhoc queries then
DATE_FORMAT()
is the way to go. But if you're gonna have the data show up on the web I'd go withUNIX_TIMESTAMP()
and do the formatting in PHP...I mean... lets say you want to change how the date & time are displayed on the page... wouldn't it feel "off" to have to modify your SQL for a display tweak?
my 2 cents