MySQLで秒数をTIMESTAMPに変換する方法|FROM_UNIXTIME()関数の使い方
MySQLでは、FROM_UNIXTIME()関数を使うことで、秒数(Unixタイムスタンプ)をTIMESTAMP型の日時データに変換できます。これはUNIX_TIMESTAMP()関数と正反対の働きをする関数です。
例えば、11576070秒という値は、TIMESTAMP型の「1970-05-15 05:04:30」に変換されます。
mysql> Select FROM_UNIXTIME(11576070); +--------------------------------+ | FROM_UNIXTIME(11576070) | +--------------------------------+ | 1970-05-15 05:04:30 | +--------------------------------+ 1 row in set (0.00 sec)
FROM_UNIXTIME()関数とは
FROM_UNIXTIME()は、Unixエポック(1970年1月1日 00:00:00 UTC)からの経過秒数を引数として受け取り、「YYYY-MM-DD HH:MM:SS」形式の日時文字列、または文脈によってはYYYYMMDDHHMMSS形式の数値として返すMySQLの組み込み関数です。返される日時は、セッションのタイムゾーン設定に依存します。
逆にTIMESTAMPから秒数へ変換する場合
反対に、日時データを秒数に変換したいときはUNIX_TIMESTAMP()関数を使用します。この2つの関数は互いに逆の変換を行うため、組み合わせて使えば元の値に戻すことも可能です。
mysql> Select UNIX_TIMESTAMP('1970-05-15 05:04:30');
+---------------------------------------+
| UNIX_TIMESTAMP('1970-05-15 05:04:30') |
+---------------------------------------+
| 11576070 |
+---------------------------------------+
1 row in set (0.00 sec)
まとめ
- 秒数 → TIMESTAMP:FROM_UNIXTIME(秒数) を使用
- TIMESTAMP → 秒数:UNIX_TIMESTAMP(日時) を使用
- 結果はセッションのタイムゾーン設定の影響を受ける点に注意
-
MySQLのDATE_FORMAT関数でタイムスタンプから月番号を取得する方法
MySQLでタイムスタンプ型のカラムから「月の番号だけ」を取り出したい場合、DATE_FORMAT() 関数を使うのが便利です。書式指定子 %m を指定することで、01〜12の形式で月番号を文字列として取得できます。この記事では、実際にテーブルを作成し、データを登録して、月番号を抽出するまでの一連の手順をサンプルコード付きで解説します。1. サンプルテーブルの作成まず、TIMESTAMP型のカラムを持つテーブルを作成します。mysql> create table DemoTable1999 ( ArrivalDate timestamp ); Query OK,
-
PHPで文字列を数値に変換する方法をわかりやすく解説
PHPで文字列を数値に変換する方法はいくつかあります。最もシンプルなのは、キャスト演算子を使う方法です。ここでは、基本的な変換方法をサンプルコードとともに紹介します。例1:(int)によるキャストで整数に変換<?php $str = "150"; $num = (int)$str; echo "Number (Converted from String) = $num"; ?>出力結果上記のコードを実