4

これは私にとって本当に奇妙です。

私は試した: <?php echo strtotime(date("Y-m-d H:i:s")); ?>

返されました:1351498120

また、私がこのクエリを実行したとき: SELECT UNIX_TIMESTAMP(now())

同じ結果が返されました:1351498120

しかし、私が試したとき:<?php echo strtotime(date("2012-10-29 18:00:00")); ?>

戻り値:1351533600

一方、このクエリを実行すると:SELECT UNIX_TIMESTAMP('2012-10-29 18:00:00')

戻ります:1351513800

さて、私の質問は、phpとmysqlのタイムスタンプが現在の日付では同じであるのに、将来の日付では異なるのはなぜですか?将来の日付のためにそれらを比較する方法はありますか?

(注:PHPのデフォルトのタイムゾーンとしてUTCがあります)

4

2 に答える 2

7

2つの間に5.5時間の違いがあります。これは、どちらの側でもタイムゾーンの問題であることを示しています。MySqlサーバーのタイムゾーンは別の方法で構成できます。

SET time_zone = timezonename;

現在のセッションのタイムゾーンを設定するために使用できます。MySQLの日付と時刻の関数を確認する

于 2012-10-29T08:10:51.190 に答える
2

デフォルトのタイムゾーンを設定してみてください

http://php.net/manual/en/function.date-default-timezone-set.php

于 2012-10-29T08:12:42.550 に答える