0

次のような API を介して日付と時刻を呼び出しています。

<?php $xml = simplexml_load_file("https://api.eveonline.com/server/ServerStatus.xml.aspx/"); ?>
<div class="server-time">
    <?php echo $xml->currentTime; ?>
</div>

これにより、ページに次のような日付と時刻が表示されます。

2013-10-16 08:15:36

ここで、デジタル時計が機能することを期待するのと同じように、この時計が毎秒刻み、時刻と日付 (ユーザーがサイトにアクセスした真夜中の数秒前の場合) の値もそれに応じて変化するようにします。

JavaScript でこれが可能であることは知っていますが、私はまったく初心者なので、これを行う方法がまったくわかりません。

ヘルプは非常に高く評価されます!

4

2 に答える 2

0

APIから毎秒時間を取得するか、指定されたAPI時間から毎秒増加させるかはわかりません。後者の場合、setInterval を使用する必要があります。

function updateTime() {
    // assuming you are using jquery for DOM manipulation:
    var timestamp = $('.server-time').text();
    var date = new Date(timestamp);
    date.setSeconds(date.getSeconds() + 1);

    $('.server-time').text(date.toString());
}

setInterval(updateTime, 1000);

jquery を使用していない場合は、document.getElementById などを使用してください。

要素を次のように変更します。

<div id="server-time">

次のスニペットを使用します。

function updateTime() {
    // assuming you are using jquery for DOM manipulation:
    var timestamp = document.getElementById('server-time').innerHTML;
    var date = new Date(timestamp);
    date.setSeconds(date.getSeconds() + 1);

    document.getElementById('server-time').innerHTML = date.toString();
}
于 2013-10-16T09:47:05.070 に答える
0

そこには多くの JavaScript クロックがあり、時刻と日付を取得するために API を使用する必要さえありません!

function clock(id) {

    //Create a new Date object.
    oDate = new Date();

    //Get year (4 digits)
    var year = oDate.getFullYear();

    //Get month (0 - 11) - NOTE this is using indexes, so 0 = January.
    var month = oDate.getMonth();

    //Get day (1 - 31) - not using indexes.
    var day = oDate.getDate();

   //Get hours
   var hours = oDate.getHours();

   //Get minutes
   var minutes = oDate.getMinutes();

   //Get seconds
   var seconds = oDate.getSeconds();

   //Maybe create a function that adds leading zero's here

   var dateStr = '';
   dateStr += year+' - '+month+' - '+day+' '+hours+':'+minutes+':'+seconds;
   //Append dateStr to some element.
   document.getElementById(id).innerHTML = dateStr;

   //Repeat the function every 1000 miliseconds aka 1 second
   setTimeout(function() {
        clock(id);
   }, 1000);

}

使用法は

<div id="yourID">clock input will go here</div>

clock('yourID');

ノート

この関数は、DOM がロードされた後に呼び出す必要があります。そうしないと、エラーが発生します。

これは、JS を使用してスクリプト タグをページの下部に配置することで実現できます (jQuery は使用しません)。

それ以外の場合は、jQuery を使用している場合は、$(function() {})(と同等の$(document).ready(function() {});

この関数は一目瞭然ですが、関数を読んで、関数が何をするのかを正確に確認したいと思うかもしれません。

簡単なグーグル検索でうまくいくはずです。

とにかく、これが役に立てば幸いです、頑張ってください:)

于 2013-10-16T09:35:20.483 に答える