- 締切済み
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 と表示されております。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.1
お礼
ありがとうございます。 >NOW関数はDATETIME関数と同系統の関数です。 こちら、公式な仕様などはありますでしょうか? >timestampは1970-01-01からの時間を符号付き32ビットの秒数+小数部で記録するので、1970-01-01から2147483647秒後までしか表現出来ません。 TIMESTAMP型は理解しています。 set timestampで設定した場合にnow()の値が変化するので、これを仕様的にどう解釈するべきか悩んでいる次第です。