ホームページ >バックエンド開発 >PHPチュートリアル >解決策: echo strtotime('2013-01-01 11:11:11') はマシンごとに結果が異なります。

解決策: echo strtotime('2013-01-01 11:11:11') はマシンごとに結果が異なります。

WBOY
WBOYオリジナル
2016-06-23 14:03:25932ブラウズ

同じ 2 行のコード

<?phpecho $ts='2013-01-01 11:11:11';echo "<br>";echo strtotime($ts);?>


を Linux サーバーで実行すると、結果は次のようになります。
2013-01-01 11:11:111357009871000

しかし、ローカル マシンで実行すると、タイムスタンプが別のものになります。何が起こっているのでしょうか。
サーバーのタイムゾーンは「アジア/重慶」に設定されており、Linux での日付を使用した時刻出力も正しいですが、これは奇妙です


ディスカッション (解決策) への返信

2 つを投稿する必要がありますマシンごとに実行した結果

私の質問を再投稿
同じコード

<?phpecho $st=date('2013-01-01 11:11:11');echo "<br>";echo (strtotime($st) * 1000);echo "<br>";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>


Linux サーバーでの実行結果:
2013-01-01 11:11:1113570098710001357<strong>0350</strong>71000


自分のマシンでの実行結果は異なります:
2013-01-01 11:11:1113570098710001357<strong>0386</strong>71000


解決してください。 。 。

質問を再投稿します
同じコード

<?phpecho $st=date('2013-01-01 11:11:11');echo "<br>";echo (strtotime($st) * 1000);echo "<br>";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>


Linuxサーバーで実行した結果:
2013-01-01 11:11:1113570098710001357035071000


自分のマシンで実行した結果は異なります: (winxp+wamp2.1)
2013-01-01 11:11:1113570098710001357038671000

Solution 。 。

2 つのサーバーのタイムゾーンは異なりますか?
また、なぜ 1000 を掛ける必要があるのでしょうか?この日付は、PHP では秒数、JS ではミリ秒です。

2 つのサーバーのタイムゾーンは異なりますか?
また、なぜ 1000 を掛ける必要があるのでしょうか?この日付は、PHP では秒数、JS ではミリ秒です。

タイムゾーンはすべて同じです。*1000 は js タイムスタンプに変換するためです

echo date("Y-m-d H:i:s",1357009871);
echo date("Y-m-d H:i:s",1357038671); ;

2013-01-01 03:11:11
2013-01-01 11:11:11

タイムゾーンの設定のいずれかに問題があるはずです。

4 階の LuciferStar からの返信を引用: 2 つのサーバーのタイムゾーンは異なりますか?
また、なぜ 1000 を掛ける必要があるのでしょうか?この日付は、PHP では秒数、JS ではミリ秒です。

タイムゾーンはすべて同じです。*1000 は JS タイムスタンプに変換するためのものです

3600 秒、想像するのは難しくありません

echo date("Y-m-d H:i:s",1357009871);
echo date( "Y-m-d H: i:s",1357038671);

2013-01-01 03:11:11
2013-01-01 11:11:11

タイムゾーン設定のいずれかに問題があるはずです。

5 階 r9000_com の返信からの引用: 4 階 LuciferStar からの引用...
このタイムゾーン

は 3600 秒です 想像するのは難しくありません

3600 秒の違いですが、私は知りません。理由は何ですか?

echo date("Y-m-d H:i:s",1357009871);

2013-01-01 03:11:11
2013-01- 01 11:11:11

8 時間の差があります。タイムゾーン設定のいずれかに問題があるはずです。

5 階 r9000_com の返信からの引用: 4 階 LuciferStar からの引用...

2 つのマシンでの結果が異なるため、比較は次の 2 つである必要があります:

1357038671000

1357035071000

答えを見つけました、理由は、php.ini のタイムゾーンがアジア/重慶とアジア/上海に設定されているため、時差が 1 時間になるためです。php.ini のタイムゾーンをアジア/上海に変更したところ、問題は解決しました。答えてください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。