datetime型の秒を切り捨てる方法
- PHP&MySQLで日付時間入力のフォームを作成していますが、表示フォーマットを「2015年11時4分 7:00」としたい場合、秒を切り捨てる方法を教えてください。
- 日付時間入力フォームは「datetimepicker」を使用しており、データベースではdatetime型で管理しています。
- MySQL 5.6とPHP 5.4を使用しています。
- ベストアンサー
datetime型の秒を切り捨てるには?
PHP&MySQLで、日付時間入力のフォームを作成しています。 日付時間表示は、「2015年11時4分 7:00」という表示フォーマットにしたいのです。 日付時間入力フォームは、 https://www.softel.co.jp/blogs/tech/archives/4294 こちらを参考にして、datetimepickerのカレンダー入力に、時間入力を組み合わせたデモサンプルを利用しています。 年日時間を個別にデータベース管理する必要はなく、日時分まで管理したいことから、データベースのほうはひとつのカラムにdatetime型で定義しました。 datetimeなので、「2015-11-04 07:00:00」で格納されます。 そこからこの値をとりだして、画面表示させたいのですが、 「2015年11時4分 7:00」で表示させるために、秒を切り捨てたいのですが、 この場合どうすればいいのでしょうか? ************************** mySql:ver5.6 PHP:ver5.4 phpMyAdmin 3.4.9 型:datetime
- hide_momiji
- お礼率52% (307/588)
- PHP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい strtotime が抜けてた <?php $datetime = '2015-11-04 07:00:00'; //MySQLから取得した時間 echo date('Y年n月j日 g:i', strtotime($datetime)); ?>
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5085/13292)
<?php $datetime = '2015-11-04 07:00:00'; //MySQLから取得した時間 echo date('Y年n月j日 g:i', $datetime); ?>
関連するQ&A
- datetime型、未入力時の日時表示について
PHP&MySQL初心者です。 同窓会の申し込みフォーム作成していますが、日時表示について質問です。 参加希望日時をカレンダー入力させて、データベースに登録しています。 日時はカラムを分けずにまとめてdatetime型にしています。 ■第一希望 [カレンダー入力](年月日時分をまとめて) ■第二希望 [カレンダー入力](年月日時分をまとめて) →データベース(mySQL)には、 datetime型「2016-01-05 02:50:00」形式で登録。 カレンダー入力せずにINSERTされたとき、datetime型だと、 「0000-00-00 00:00:00」で登録されますが、 この値を、date('Y年n月j日 g時i分', strtotime(カラム値)); で読み出すと、「1970 年 1 月 1 日 00:00:00」と表示されます。 このままではまずいので、単純に空欄としたいのです。 カレンダー入力されなかったとき、つまり、「0000-00-00 00:00:00」で登録されているとき、 日時表示を空欄にするスマートな方法はありますか?
- ベストアンサー
- PHP
- datetime型の日付検索について
宜しくお願いします。 datetime型のカラムに収められたデータから日付のみの検索方法が分かりません。 例えば、2005-12-25 10:20:30/2005-12-25 10:25:35 という様に、同じ日付ですが、時間が違う場合に、日付だけで検索する方法がわかりません。 どなたかご指導の程、宜しくお願い致します。 尚、MySQLのバージョンは、4.1.12です。
- ベストアンサー
- MySQL
- MySQLのdatetime型に0月0日を格納
MySQLのdatetime型カラムに「月」や「日」だけ不明なデータを格納したいのですが、どうすれば良いでしょうか? ・具体的なパターンは、下記3フォーマットの何れかです ・2013-03-02 ・2013-03 ・2013 ※月日が不明なデータは全体の一部 ■案1 ・不明な日付を0に置き換え格納 ・2013-03-00 ・2013-00-00 ■案2 ・不明な日付を1に置き換え格納 ・2013-03-01 ・2013-01-01 ※本来の日付と見分けがつかなくなる ■質問 ・日付不明が後で判別できるよう、出来れば0で置き換えたい ・MySQL的に問題ないでしょうか? ・一般的に日付が不明なデータはどのように処理するのでしょうか? ■環境 ・MySQL ・PHP
- ベストアンサー
- MySQL
- PHPとMYSQLを使用したデータベース編集。
PHPとMYSQLを使用して、従業員のシフト管理のシステムを作ろうと思っています。 テーブルには、従業員ID、日付、出勤時間、退勤時間のカラムを持たせるつもりです。 そこから日付を指定して、その日に出勤する従業員を一覧にしたり、従業員を指定して、その従業員の一週間分のシフトを一覧にしたいと考えています。 そこで、データをPHPでMYSQLに入力したいのですが、一日ずつデータをデータベースに入力することはできるのですが、一週間分のシフトをまとめてMYSQLに入力する方法がわかりません。 何かよい方法はありませんか? ヒントになるような言葉、参考になりそうなウェブサイト、書籍、ささいなことでもアドバイスいただけたらと思います。よろしくお願いします。 イメージとしては、従業員ごとに日付の欄が一週間分あり、その日付の欄ごとに出勤時間、退勤時間を入力できる欄があり、そのフォームを入力してから送信ボタンを押すと入力した一週間分のデータがMYSQLに入力されるようにしたいです。 わかりにくいかもしれませんが、よろしくおねがいします。
- ベストアンサー
- MySQL
- DATETIME型からUNIX時間を求める方法
現在、MYSQL、DATETIME型 YYYY-MM-DD HH:MM:SS からUNIX時間を求める際に、気軽に質問出来る詳しい方が知り合いにおらずPHP学習中で知識が乏しいため、YYY-MM-DD HH:MM:SS をスペースで分割、をハイフンで分割、HH:MM:SSをコロンで分割、その後、mktimeに当てはめてUNIX時間を求めています。 他に簡単にDATETIME型からUNIXTIME求める関数などがありましたらご教示頂けましたら嬉しいです。 それとも、計算が必要な日時をMYSQLに格納する場合はINSERTする場合にUNIX時間でINSERTし、表示が必要な場合に、DATE関数等で日時として表示する方が良いのでしょうか?
- ベストアンサー
- PHP
- PHPで入力した内容をMYSQLに登録するとエラーが表示。
PHPで入力した内容をMYSQLに登録するとエラーが表示。 PHP側のフォームにパソコンと入力しMYSQL側に登録すると、 DB Error unknown errorと表示されていますが、 MYSQLのデータベースの中を確認すると、パソコンと登録されています。 PHPとMYSQLはsjisで設定します。 このエラーの回避は出来るのでしょうか?ご教授お願いします。
- 締切済み
- PHP
- MySQLのDatetime型の引き算
ある機械の1日当たりの処理数を計算したいと思います。 Datetimeの引き算がうまくいかないので、解決方法を教えてください。 1日当たりの処理数は下記の式で計算できます。 1日当たりの処理数=期間内処理数÷((現在日時-作業開始日時)÷(60×60×24)) ※現在日時-作業開始日時で期間の秒数を計算 それを1日の秒数=86400秒(60秒×60分×24時間)で割る。 ------------------ 環境 MySQL:5.0.77 ------------------ テーブル: test カラム :num(INT型),start_date(DATETIME型) ※numは期間内の機械の処理数です。 まず、上記の1日当たりの処理数の数式をSQL文に反映させてみました。 SELECT num , num/((now()-start_date)/86400) as shorisu FROM test 結果は表示されるのですが、かなり大きな数値になって出てきてしまいます。 WEBで情報を検索したところ、DATETIME型を直接減算すると求める結果にならないことはわかりました。 MySQLのページ(11.5. 日付時刻関数) http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html を見てみましたが、どの関数を使えばよいのかいまいちわかりません。 now()-start_dateの部分が正しい値を返すようになれば良いのですが、どのような式を書けばよいのでしょうか?
- ベストアンサー
- PHP
- MySQL now() 2038年
こんにちは。 MySQLの2038年問題ですが、TIMESTAMPではなく、DATETIMEを使うということはあちこちに書いてあるのですが、now関数の扱いがわからず困っております。 つまり、2038年以降でも、now関数が正常に動作するかどうかですね。 now関数の戻り値はTIMESTAMPなのでしょうか?それともDATETIMEなのでしょうか? set timestampで2038年以降が設定できないのも気になります。 サーバーの日付を変えてみればわかる話ですが、間借りしている状態なので、うかつに変えることはできません。 どなたか、now関数について確認する方法をご存知でしょうか。よろしくお願いします。 OSとPHPに関しては64bitで動作していることを確認しております。 MySQLのstatusは mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1 と表示されております。
- 締切済み
- MySQL
- .NET 2003 DateTimeからtime_t型への変換
.NET 2003 C++です。 フォーム上にカレンダを置いて選択された日時をDateTime型で管理しています。 ところが、途中でどうしても使用しなければいけないクラスへの時間の引数がtime_t型なのです。 その為、DateTimeからtime_tへの変換を模索していますが、よくわかりませんでした。どなたかお知恵をおかしください。 Convertでは、Stringへの変換しか対応してません。 Stringからtime_tへの変換の仕方でもいいんですが。 ※ミリ秒は使用しません。
- ベストアンサー
- C・C++・C#
- 検索機能で条件を指定しない場合の処理
PHPとMysqlでホームページの検索機能をつくっているのですが、わからないところがでてきたので質問させてください。 検索フォームに入力した文字列をGETで送信して、 完全一致するものをデータベースから表示させるというものなのですが、 フォームが空の場合はすべてを表示させたいのです。 フォームを空で送信すると アドレスには、たとえば「name=」というものが含まれてしまいます。 どのようにすればよいのでしょうか? よろしくお願いします。
- ベストアンサー
- MySQL
お礼
ありがとうございます。解決しました。 たすかりました。