1

時間()ですか?time().substr(microtime(), 2, 2) ですか? time().substr(microtime(), 2, 3) ですか?

次のスニペットでちょっと失われました。

function updateClock ( ) {
    var timeStamp = <?php echo time().substr(microtime(), 2, 2);?>;
    var currentTime = new Date ( );
    currentTime.setTime( timeStamp );

    ...
    ...
}

私の目標は、サーバー時間を使用して、そこからクライアントのブラウザー ウィンドウでティックを開始することです。上記のコードは、現在のクライアント コンピューターの時刻または 1973 年のいずれかを返します。

ありがとう!

  • 1000

私はそれを試しましたが、js.php (javascript コードをレンダリングする) をサーバーにアップロードした後も、Web ページにはローカル時間が表示されます。私のサーバーは、私との時間差が約 12 時間あります。私の推測では、php は time() の実行を考慮してクライアント側の時間を考慮していますか? ブラウザはリクエスト時間をApacheに送信するということですか?

サーバーで実行されている Web ページから返された time() * 1000 の値をコピーし、ローカル ページに貼り付けました。

<script type="text/javascript">

var d = new Date();
d.setTime(1233760568000);
document.write(d);

</script>

そして、それは確かに私の現地時間です。したがって、推測。

time() のタイムゾーンを指定する方法はありますか?

4

3 に答える 3

2

Date.setTimeは、1970 年 1 月 1 日からのミリ秒数を想定しています。PHPのtime 関数は、1970 年 1 月 1 日からの数を返します。したがって、あなたはただ使うことができます

var TimeStamp = <?php echo time()*1000;?>

ただし、待ち時間の問題 (ブラウザーは JavaScript を開始する前にページ全体を読み込む必要があります) により、通常は 1 ~ 2 秒ずれます。

于 2009-02-04T15:09:28.653 に答える
1

1000 を掛けます。JavaScript はミリ秒を期待しますが、PHP は秒を返します。

于 2009-02-04T15:09:38.497 に答える
0

Date.setTime()Unix エポックからのミリ秒が必要で、time()それからの秒数を返します。絶対精度が必要ない場合 (そして、あなたの方法論を考えると、そうではないと思います)、取得した値に を掛けるだけtime()です1000

編集:2回殴られた--D'oh

于 2009-02-04T15:10:32.970 に答える