MySQLでCURRENT_TIMESTAMPをAM/PM形式にフォーマットする方法
MySQLで時刻データをAM/PM形式(12時間制)で表示したい場合は、DATE_FORMAT()関数を使用します。フォーマット指定子として %r を使うことで、「hh:mm:ss AM/PM」という形式で時刻を簡単に取得できます。
サンプルテーブルの作成
まず、デモ用のテーブルを作成しましょう。
mysql> create table DemoTable
(
LoginTime time
);
Query OK, 0 rows affected (0.48 sec)レコードの挿入
insertコマンドを使って、テーブルにいくつかのレコードを挿入します。
mysql> insert into DemoTable values('13:10');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('20:08');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('10:55');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('16:40');
Query OK, 1 row affected (0.11 sec)テーブルの内容を確認
select文ですべてのレコードを表示してみます。
mysql> select *from DemoTable;
実行結果は以下の通りです。
+-----------+ | LoginTime | +-----------+ | 13:10:00 | | 20:08:00 | | 10:55:00 | | 16:40:00 | +-----------+ 4 rows in set (0.00 sec)
CURRENT_TIMESTAMPをAM/PM形式にフォーマットするクエリ
以下のクエリでは、DATE_FORMAT()関数と %r 指定子を組み合わせて、24時間制の時刻を12時間制のAM/PM形式に変換しています。
mysql> select date_format(LoginTime,'%r') from DemoTable;
実行すると、次のような出力が得られます。
+-----------------------------+ | date_format(LoginTime,'%r') | +-----------------------------+ | 01:10:00 PM | | 08:08:00 PM | | 10:55:00 AM | | 04:40:00 PM | +-----------------------------+ 4 rows in set (0.00 sec)
このように、TIME型やCURRENT_TIMESTAMPで取得した24時間制の時刻データも、DATE_FORMAT()の %r 指定子を使えば「午前/午後」付きの見やすい形式へ簡単に変換できます。なお、秒を省いて「1:10 PM」のようなシンプルな表示にしたい場合は、%l:%i %p を指定子として使用するとよいでしょう。
-
PHP変数「11:00 AM」をMySQLの時間形式に変換する方法
PHPの「11:00 AM」をMySQLの時間形式に変換する方法 MySQLのTIME型やDATETIME型は、時刻を24時間表記の「HH:MM:SS」形式で管理します。そのため、「11:00 AM」のようにAM/PMを含む文字列をデータベースに保存する場合は、事前に形式を変換しておく必要があります。本記事では、PHP標準のDateTimeクラスを使った変換方法を、サンプルコードと実行結果付きで解説します。 変換の基本の流れ DateTime::createFromFormat() … 入力文字列をDateTimeオブジェクトとして解析する format() … 解析結果を「H:i:s」(2
-
MySQLでレコードを挿入しながら日付をフォーマットする方法(DATE_FORMAT活用)
MySQLでは、INSERT文の中でDATE_FORMAT()関数を使うことで、レコードを挿入する際に日付を任意の形式に整形できます。本記事では、実際にテーブルを作成し、日付をフォーマットしながらデータを挿入する手順を具体的なSQL例とともに解説します。1. テーブルの作成まず、フォーマット済みの日付文字列を格納するためのテーブルを作成します。ここでは、VARCHAR型のカラム「ShippingDate」を持つシンプルなテーブルを用意します。mysql> create table DemoTable2012 -> ( -> ShippingDate varch