0

私のMySQLデータベーステーブルの多くでは、(phpからのtime())タイムスタンプをint UNSIGNEDフィールドに保存しています。ただし、time()正しく思い出せば13桁の値を返し、 10桁INT UNSIGNEDまでの値を格納します2147483647。したがって、によって返される値はtime()、フィールドに格納するには大きすぎる数値になりintます。

ただし、タイムスタンプはどれも切り捨てられていないので、このような大きな値をどのように保存できますか?それはデータベースの不整合ですか、それとも何かが足りませんか?

4

1 に答える 1

2

1343399732秒は、エポック(1970)から現在経過しており、signedintに格納できます。

これは、 2038年頃に関連する秒を処理しており、署名された32ビット整数に秒を格納すると問題が発生し始めます。

于 2012-07-27T14:37:36.817 に答える