このことを考慮。私のサーバーでは、(UTC / GMT)タイムストリングを次のように変換します。
strtotime('Fri Feb 18 21:08:38 +0000 2011')
私のサーバーは
1298063318
私がテストしたすべてのUNIX タイムスタンプ コンバータは同じものを返すので、これは正しいです。逆に、日付ではなくタイムスタンプを挿入すると、上記のようにタイムストリングが返されます。しかし、サーバーでタイムスタンプを変換すると、次のようになります。
date("Y-m-d H:i:s", 1298063318);
予想とは異なる日付が返されます(「2011年2月18日金曜日21:08:38 +0000」):
2011-02-18 22:08:38
だからそれは1時間オフです。これはおそらく、サーバーのタイムゾーンがヨーロッパ/パリに設定されているため、タイムスタンプがUTC / GTM + 1に変換されるためです。しかし、同じサーバーで実行され、同じタイムゾーンを持つMySQLは、別の結果を返します。
SELECT FROM_UNIXTIME(1298063318) = 2011-02-18 22:08:15
つまり、18秒オフです。誰かが理由を説明できますか?