2011-10-19 55 views
1

我有一個表中的存儲TIME_STAMP,我想它從YYYY-MM-DD HH-MM-SS格式來顯示爲10月19日2011年MySQL的TIME_STAMP格式

我有點新在這,但我想我需要設置一個新的變量,需要time_stamp並將其轉換。

$mydate = DATEFORMAT(columnName, %b-%D-%Y); 

它對我來說不太合適我是在正確的軌道上?

感謝鄉親

我得到的日期正確的事情,現在我想..它只是沒有顯示的日期。我有一個循環,通過每一行去,直到沒有更多:

$query = "SELECT comment, DATE_FORMAT(postdate, '%b %D %Y') FROM sessionscomments WHERE session = 'Geoarge'"; 
$result = mysql_query($query); 

while($row = mysql_fetch_assoc($result)) 
{ 

    echo "<div id=fav>"; 
    echo strip_tags("Date: {$row['postdate']}"); 

所以我還需要讓我的格式的日期到一個變量,以便將與各行的格式呢?

+0

嘗試添加'AS':'SELECT評論,DATE_FORMAT(踵, '%B%d%Y')AS踵而來。 ..'。 – Viktor

+0

它不喜歡我的「while語句」現在 – hobbywebsite

+0

確實需要:或() – hobbywebsite

回答

4

如果要在SQL查詢中執行格式設置,可以在MySQL中使用DATE_FORMAT() function

SELECT DATE_FORMAT(columnName, '%b %D %Y') AS my_date 
FROM tableName; 

格式化PHP中的日期,你會想在PHP中使用date() function

$my_date = date('M jS Y', $timestamp); 
+0

...其中$ timestamp是數據庫時間戳字段中的原始值 – Herb

0

我假設你只是在使用mysql而不是其他連接到mysql的語言。我希望這有助於:

DATE_FORMAT(columnName, '%b %D %Y') 
+1

哦實際上我試圖將它回顯到php中。這是否有所作爲?這就是爲什麼我試圖將它設置爲一個變量。 – hobbywebsite

+1

如果你從一個表中抽取一行到變量'$ row',它有一個名爲'col'的列,你可以通過將該值轉換爲時間戳然後格式化來回顯它:'echo date(「M jS Y」,strtotime ($ row ['column']));'([PHP date](http://pt.php.net/manual/en/function.date.php))。 – dresende

1

你絕對是在正確的軌道上!

從你的例子不同的是,你需要指定日期格式的字符串 - 你可以用單引號(')周圍做到這一點,刪除連字符(-):

DATE_FORMAT(columnName, '%b %D %Y') 

順便說一句,如果您只是在正常的SELECT查詢中使用此表達式,則可以將該表達式內聯代替列名稱,並使用AS關鍵字爲其命名。例如:

SELECT someColumn, anotherColumn, DATE_FORMAT(dateColumn, '%b %D %Y') AS formattedDate 

可能返回類似:

+------------+---------------+---------------+ 
| someColumn | anotherColumn | formattedDate | 
+------------+---------------+---------------+ 
| 1   | 2    | Oct 19th 2011 | 
| 2   | 6    | Feb 26th 1989 | 
+------------+---------------+---------------+