2016-09-28 3 views
-4

私はMacでXAMPPを実行しています。phpのtime()関数は現在の時刻が1970であることを示します

私は非常に簡単なスクリプトがあります。

<?php 
echo time(); 

は常に1970

例で時刻を返します:1475044574(編集:1475137157)

私はphp.iniでタイムゾーンを設定してみましたdate_default_timezone_get()を呼び出して正しい設定値を返します。

SetEnv TZ MyTimezoneを(ファイルの最後にある)httpd.confに追加しようとしましたが、動作しませんでした。

私もdate_default_timezone_setとPHP(してタイムゾーンを設定しようとした)、それが正常に設定されますが、時間が、私はMAMP、まだ同じ問題に同じスクリプトを試してみました1970年

にまだあります。

ご迷惑をおかけして申し訳ございません。

+1

あなたの例(1475044574)はWed、28 Sep 2016 06:36:14 GMT – Bart

+0

です。1970年の時刻は決して '1475044574'になりません。 –

+0

あなたはその時が1970年になったと思いますか?ヒント、そうではありません – Anigel

答えて

0

time関数は、時間を適切な形式に変換して間違っている正しいunixタイムスタンプを返しています。 1475044574はWed、28 Sep 2016 06:36:14 GMTが正しいことを意味します。

時間は必要に応じて変換できます。 date formatsを参照してください。

チェックこのサンプルコード:

エコー日( 'M J YのG:I A'、1475044574)。

PHPマニュアルのphp.net/manual/en/function.time.php time()関数は、milisecondsではなく秒を返します。このサイトepochconverter.comでタイムスタンプのタイムスタンプをチェックしてください。

+0

、それは奇妙です。私は最後の2日間スクリプトをテストし、currentmillis.comで時間を変換していました。時間は常に1970年でした。私は質問をする前に時間をここにコピーするスクリプトを最後に走らせました。それは突然正しい日付ですか? – Brainiac

+0

PHPマニュアルのhttp://php.net/manual/en/function.time.php time()関数は、ミリ秒ではなく秒を返します。このサイトのタイムスタンプをタイムスタンプでチェックしてください。http://www.epochconverter.com/ –

+0

ああこれは厄介です。私は最後の2日間でこの関数のドキュメントをかなり数回読んだことがありませんでした。あなたは答えとして投稿できますか? – Brainiac

1

time()機能returns current Unix timestamp。したがって、1475044574はタイムスタンプです。

あなたは、これはのタイムスタンプであることがわかりますdate機能の使用(タイムゾーンを持ついくつかのバリエーションが、結果は変更される場合があります):

echo date('Y-m-d H:i:s', 1475044574); 
// 2016-09-28 02:36:14 

あなたはこのタイムスタンプは、いくつかの文字列表現に変換し、00-00-1970のようなものを取得する場合 - あなたは明らかに変換を行うが間違って

関連する問題