MySQLでdatetime型をtimestamp型に変換する方法です。
時間を加算・減算する時にDatetime型だと文字列ですので、UNIXTIMEに変換して計算すると楽です。
UNIXTIMEとは、1970年1月1日 00:00:00からの経過秒数のことですね。
32ビットのパソコンでは
2,147,483,647秒を経過した、2038年1月19日3時14分7秒
までしか扱えないようです。
扱える範囲は
「1970年1月1日 00:00:00~2038年1月19日3時14分7秒」です。
UNIX時間またはUNIX時刻(UNIX time or POSIX time)とはコンピューターシステム上で日時を表す単位。UTCでの1970年1月1日真夜中(0時0分0秒)からの経過秒数(閏秒を加味しない)で表される。
UNIX系オペレーティングシステムだけでなく、他の多くのオペレーティングシステムにおいてもこの単位が用いられている。システム内部では32ビットまたは64ビットの符号付整数(signed int)で扱われていることが普通であり、特に32ビットで扱われている場合においては符号付整数が取れる最大値 2147483647 を超える時点で時刻を扱えなくなるという問題がある。これを2038年問題という。
引用:[wikipedia]UNIX時間
datetime型をtimestampに変換
「UNIX_TIMESTAMP」関数を使います。
select unix_timestamp(test_date) as test from sample;
timestampをdatetime型に変換
「FROM_UNIXTIME」関数を使います。
select from_unixtime(test_date) as test from sample;
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)