-3

私は自分のサイトにサーバー時間 (実行中) を表示する時計を持っていますが、動作を停止することがあります。これよりも良い方法があります:

PHP:

 <?php print date("H:i", time()); ?>

Jクエリ:

<script type="text/javascript">
    $(document).ready(function() {
        function show_clock() {
          $.ajax({
           type: 'POST',
           url: '/clock.php',
           timeout: 1000,
           success: function(data) {
              $("#servertime").html(data); 
              window.setTimeout(show_clock, 1000);
           },
          });
         }
         show_clock();
    });
</script>

編集:このコードも疲れていますが、完璧ではないようです:

<script type="text/javascript">
    var currenttime = '<? print date("F d, Y H:i:s", time())?>' //PHP method of getting server date

    var serverdate=new Date(currenttime)

    function padlength(what){
        var output=(what.toString().length==1)? "0"+what : what
        return output
    }

    function displaytime(){
        serverdate.setSeconds(serverdate.getSeconds()+1)
        var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())
        document.getElementById("servertime").innerHTML=timestring
    }

    setInterval("displaytime()", 1000)

</script>
4

3 に答える 3

0

これは古い質問ですが、PHP タイムスタンプなどのサーバー タイムスタンプを取得できる jQuery プラグインを作成しました: https://github.com/JohnRDOrazio/jQuery-Clock-Plugin。例:

<?php
//Get a server side unix timestamp
$time = time();
?>
<input id="servertime" type="hidden" val="<?php echo $time; ?>" />

次に、そのタイムスタンプを取得して、クロックを初期化するときにプラグインにフィードします。

<script type="text/javascript">
let servertime = parseInt( $("input#servertime").val() );
$("#clock").clock({"timestamp":servertime});
</script>

このプラグインを使用すると、PHP スタイルの書式文字を使用して、日付と時刻を任意の方法で書式設定できます。詳細については、github の readme を参照してください。

また、適切な測定のためにプラグインを npm に公開しました。

于 2021-03-14T01:06:30.560 に答える