- ベストアンサー
TIMESTAMP型(MYSQL)をstrftime()で変更したい。
こんにちは。 TIMESTAMP型のデータを受け取り、 strftimeで成形して使いたいと思っています。 しかし、 strftime('%y年%m月',$row['TIMES']) (TIMESは、TIMESTAMP型のフィールド、 $rowで読み込んでいます)。 としても、 まったく、異なる表示になってしまいます。 strftime()は、MYSQLのTIMESTAMP型を 受け付けないのでしょうか。 理由がわかりません。 何かわかる人がいましたら、 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- timestampの日付の表示変換
Mysqlのデータベースの中にある フィールド名: date_time 種別: timestamp を下記のPHPコードですると、 echo $row['date_time']; 下記のように表示されます。 2008-02-04 00:00:00 これを、Monday, February 4, 2008 と表示させたいのですが、 どのように日付表示を変換すればよいのか分かりません。 どなたか教えてもらえますか? 宜しく御願いします。
- 締切済み
- PHP
- MySQLのtimestamp型について
MySQLのtimestamp型で質問があるのですが、not nullの指定はできるのでしょうか? また、代入方法はPerlの場合、現在の日時をYYYYMMDDHHMMSS形式の文字列を簡単に作成したいのですが、どのような方法があるのでしょうか? あと、私は日付の場合はint(11)として、日付のシリアル値(1970年からの経過秒)をよく利用していました。理由は、後で足し引きなど計算しやすい為です。それで、日付型というものは使ったことがありません。 みなさんは、この日付関数利用する目的や必要性などありましたら、教えてください。
- ベストアンサー
- MySQL
- MySQLのデータベースを呼んで日付表示をする点で困っています。
MySQLのデータベースを呼んで日付表示をする点で困っています。 フィールド名:k_pvm 型:DATE データ:2009-12-21 phpでキーを元に呼び出して表示しています。表示形式は、d-m-Yで21-12-2009と表示させたいのですが、うまくできません。 echo "<tr><td>Rekisteri: </td><td><input type='hidden' name='kpv'>" . date('d-m-Y', $row['k_pvm']) . "</td></tr>"; 表示> 01-01-1970 以下、日付データ部分を変えて試してみました。 date($row['k_pvm']) > 2009-12-21 $row['k_pvm'] > 2009-12-21 date('d-m-Y') > 2009-12-22 (試した当日の日付) 試した3点については理解できますが、呼び出したデータに表示形式を指定するとどうして、01-01-1970を表示するのか解りません。直接dateで表示するのではなく、何か手順を踏まないといけないのでしょうか。
- ベストアンサー
- MySQL
- intの数字をtimestampに変換したい
php5,mysql5.1の環境です。 mysqlのフィールドにint(11)でunix timestampを挿入しています。 その11桁の数字の羅列をunixのタイムスタンプ形式に変更したいのですがどのようにすればよいのでしょうか。 うまく説明できないのですが、その11桁の数字はタイムスタンプとしてphp側で処理できないのでしょうか。 mysqlの種別カラムにおいて、int(11)とtimestampは同一のデータとして処理できないのでしょうか。
- ベストアンサー
- PHP
- timestamp型の表示
PHPとPostgreSQLでサイトを作っています。 そこで、pgSQLの中にあるtimestamp型のフィールドから PHPでデータを取り出してます。 そのまま取り出すと、「2002-09-18 23:29:00+09」こういう形になります。 このデータを「02/09/18(Wed) 23:29」みたいに表示させたいのですが。。。 PostgreSQL 7.0.2 PHP4 初歩的な質問かもしれませんが宜しくお願いします。
- ベストアンサー
- PHP
- timestamp(14)のフォーマットについて
データベースに新規データを追加した場合、timestamp(14)で、自動的に日付情報を取得しています。 (例) 20070330120003 これを、phpファイルで、「2007年3月31日」のように表示させたいのですが、phpでこのようにフォーマットさせる関数はあるのでしょうか? 現在は、SQL側で、 $sql = "SELECT *, concat(YEAR(timestamp),'年',MONTH(timestamp),'月',DAYOFMONTH(timestamp),'日') as time_format ・・・ とさせています。 以上、宜しくお願い致します。 VERSION: php4
- ベストアンサー
- PHP
- timestamp with time zone型のデータから日付と時間と取り出したい。
PHP 4.4.2 + PostgreSQL 7.4.8 です。 今、フィールド「DATE」、データ型「timestamp with time zone」に 2006-12-14 09:00:28.853324+09 というデータが入っています。 このデータをウェブ上で ○月○日○時○分 という形式で表示させたいのですが、どのようにすればよいでしょうか? よろしくお願いします。
- ベストアンサー
- PostgreSQL
- 配列で指定した値のみをMySQLからループで呼び出す方法
MySQLから呼び出す際の下記のような書式を簡略化したいと思っています。 $test = $row['test']; アドバイスのほどよろしくお願いいたします。 /* 以下ソース */ $field =array('a','b','c','d','e','f'); function ROW_DATA(){ grobal $field; foreach($field as $key => $val){ return $key = $row['$key']; } } $sql = "SELECT * FROM data"; $rs = mysql_query($sql); while($row = mysql_fetch_array($rs)) { ROW_DATA(); }
- ベストアンサー
- PHP
- MySQLのTimestamp(14)型のフィールドにYYYY/MM/DD hh:mm形式のデータをインサートするには
MySQLのTimestamp(14)型のフィールドに YYYY/MM/DD hh:mm形式のデータをインサートするには どのようにしたらよいのでしょうか? MySQL の Timestamp(14)型(YYYY-MM-DD hh:mm:ss)のフィールドに YYYY/MM/DD hh:mm 形式のデータ(ssに該当するデータがない)を インサートするには、 PHPでどのようにしたらよいのでしょうか? できれば、インサートの際にssに自動的に00をつけたいです。 現在、PHPでinsert文を実行すると、データの桁数が足りないため、 フィールドの値は、0000-00-00 00:00:00になってしまいます。 同じ形式(YYYY/MM/DD hh:mm)のデータをphpMyAdminで インポートすると、自動的にssに00がつき、 YYYY-MM-DD hh:mm:ss(例 2009-10-20 12:10:00) となってくれます。 PHPでもphpMyAdminと同じ処理をしたいのですが、 インターネットで検索してもやり方が見つからず、 どのようにしたらよいのか、わかりません。。。 インサートするデータサイズが83MBと大きいので、 PHPで処理したいと思っています。 (phpMyAdminは8MBまでなので) ご存知の方がいましたら、教えていただけると、 助かります。m(_ _)m レンタルサーバー:さくら インサートするファイル:CSVファイル PHP 5.2.x MySQL 5.1 phpMyAdmin 3.1.3.1
- ベストアンサー
- MySQL
- 取り出した日付の表示
phpにてDBに格納されている日付データを取り出した際にデフォルトで "2007-06-04"のように表示されてしまいますが、これを "07/06/04"や"07.06.04"のように表示するにはどうすればよいのでしょうか? MySQLのフィールドタイプはdateに設定しています。 print date(Y/m/d,"$row["日付フィールド"]");とやるとなぜか、 "1970/01/01"と表示されてしまいます。 普通に、print $row["日付フィールド"]");とやると 2007-06-04と出てしまいます。 どうぞ宜しくお願いします。
- ベストアンサー
- PHP
お礼
回答ありがとうございます。 タイムスタンプには、UNIXタイムスタンプという、 秒数で管理されているものがある、とわかりました。 (これからは、タイムスタンプの相互変換を 考えようと思います)。 ただし、strtotimeでは、 20071030174402という数値そのままでは、 UNIXタイムに変換できませんでした。 MYSQLのUNIX_TIMESTAMP()が使えました。 ちょっとしたことですが、 非常に勉強になったと思います。 ありがとうございました。