アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPとMySQLで、時間情報の取り扱いを試しています。

まず、MySQLにはTIME型で「10:00:00」などの時刻情報を格納しています。
それを、PHPでSELECTしてHTMLの中に表示したいのですが、
その際、2つの点でうまくいかずに困っています。

1 PHPでHTMLの中に表示するときには、「時」と「分」だけの、「10:00」の形式で表示したいのですが、方法がわかりません。
(いくつか関数を試しても、どれもTIMESTAMP型を扱うものでした)

2 例えば、「4時」のデータの場合「04:00:00」となりますが、これを「4:00」のように語頭の0を削って表示したいです。

おそらくどちらもMySQLに格納する方法を文字列型にすればいいのかとも思うのですが、SELECTの際に現在時刻との比較(現在時刻より早いか遅いかなど)を行いたいので、それができません。

何かいい方法がありましたら、教えて頂ければありがたいです。 

A 回答 (2件)

たとえば、そのTIME型のカラムがテーブルmytableのmytimeと言うカラムだったとします。



SELECT DATE_FORMT(mytime, '%p %l:%i') AS timeinstring FROM mytable;

みたいに書けば、timeinstringと言うカラム名で持ってこれます。

上の例だと、AM 5:09 というような形になります。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます!
やり方がよくわかりました!
SQLをもっと勉強する必要があるなと反省しました。

お礼日時:2008/11/06 21:04

日付、時刻型はRDBMSでは、文字型で持つのは避けたいですね。

で、SELECTの結果で文字型に編集できればいいんですよね。

DATE_FORMAT()関数を使えば、いいかと。

参考URLのDATE_FORMATを参照してください。

参考URL:http://dev.mysql.com/doc/refman/4.1/ja/date-and- …

この回答への補足

ご回答ありがとうございます!
MySQL側での処理というのは考えなかったですね。
これは、PHP側でクエリとして実行するのでしょうか?

補足日時:2008/11/04 17:11
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
MySQL側での処理というのは考えなかったですね。
これは、PHP側でクエリとして実行するのでしょうか?

お礼日時:2008/11/04 17:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!