2009-05-20 11 views
1

こんにちは、string_to_dateを使用してVARCHARを日付に抽出することができましたが、日付をいつでも試してみてください。ここで2009-05-25
は働く私のコードです:フォーマットSTR_TO_DATEから日付

$query = "SELECT u.url_id, url, title, description, STR_TO_DATE(pub_date, '%d-%b-%Y') 
    AS pub_date FROM urls AS u, url_associations AS ua WHERE u.url_id = ua.url_id AND 
    ua.url_category_id=$type AND ua.approved = 'Y' ORDER BY pub_date DESC"; 
$result = mysql_query ($query); 
echo " <tr> 
<td align=\"left\">{$row['pub_date']}</td> 
</tr>\n"; 

私はDATE_FORMATと同様の方法を試してみましたが、私はどちらか2009-05-25または空白を受けます。 誰でもこの問題を解決するのに役立ちますか?私は見てテストしていますが、私は援助が歓迎され、以前に助けられた人たちはとても親切であったので、ここで助けを求めることに決めました。

おかげ

ショーン

+0

ですMySQLのデフォルト以外の形式で日付を出力したいと思います(私は思っています)。そうであれば、DATE_FORMAT()は使用する正しい関数です。どのような形式が欲しいですか?目的の結果が得られなかったDATE_FORMAT()の使用方法を示します。 –

答えて

2

STR_TO_DATEの戻り値の型がPHPに返されDATEです。

echoには、MySQLではなく、日付の書式を設定するのはPHPです。

DATE_FORMAT(STR_TO_DATE(pub_date, '%d-%b-%Y'), '%Y.%m.%d') 

またはその他の形式:MySQL側、使用上の書式設定を行うには

内部フォーマットは、文字列がデータベースに格納される方法を制御し、外部フォーマットは出力方法を制御します。 (あなたが別のユーザーのための文化特定のフォーマットを尊重できるよう、より良いです)PHP側の書式設定、使用行うに

:以下this reference siteから

echo date('Y m d', strtotime($row['pub_date'])) 
+0

無限に便利なstrtotime()リソース:http://php-date.com/#strtotime –

+0

ありがとう、Quassnoi、日付が正しく表示されます。 あなたのアドバイスがどのようにフィットするかを他の人が見ることができるように、コードを追加します。 もう一度ありがとう、本当に感謝しています。 Sean – Ddywalgi

+0

私は自分の質問に「あなたの質問に答える」ことを試みましたが、喜びはありません。もし誰かがこれに答えることを望むなら、私の日付ピッカーはjasonのjsカレンダーです。[email protected]までメールしてください。 AnnathとZombatに感謝します。あなたの初期の指導がなければ、私はそれに従うべき道がありません。 パズルに欠けている部分を追加したものの、解決策ではなく旅行には功績のある人物はQuassnoiです。あなたの意見は貴重で暖かいものでした。結果はここに見ることができます - http://mediamice.net/STR_TO_DATE/html/index.phpのリンクは、ニュースを追加し、すべてのニュースフィード/クライアントを表示します。感謝祭 – Ddywalgi

0

はmysqlのコマンドと出力

mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y'); 
     -> 'Sunday October 2009' 
mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s'); 
     -> '22:23:00' 
mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00', 
    ->     '%D %y %a %d %m %b %j'); 
     -> '4th 00 Thu 04 10 Oct 277' 
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', 
    ->     '%H %k %I %r %T %S %w'); 
     -> '22 22 10 10:23:00 PM 22:23:00 00 6' 
mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V'); 
     -> '1998 52' 
mysql> SELECT DATE_FORMAT('2006-06-00', '%d'); 
     -> '00' 
関連する問題