2017-04-20 4 views
-2
<script language="javascript"> 
$(function() { 
    $('#clock')[0].innerHTML = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>"); 
    clock_tick(); 
}); 
function clock_tick(){ 
    var clock_div = $('#clock')[0]; 
    var time = moment(clock_div.innerHTML); 
    time.add('second', 1); 
    clock_div.innerHTML = time.format("YYYY-MM-DD hh:mm:ss"); 
    setTimeout("clock_tick()", 1000); 
} 
</script> 

<div id="clock"></div> 

Ich muss das Datum aus diesem Skript entfernen, brauche nur Zeit. Ich erhalte eine "Invalid Date" FehlerBenötigen Sie nur Zeit, Fehler beim Entfernen des Datums

-Code mit freundlicher Genehmigung Stackoverflow

+0

dass Sie nur wollen 11.00.00 so? – Omi

+0

Nun, Sie versuchen, die aktuelle Zeit von der div zu lesen, so wird es natürlich über ein ungültiges Datum beschweren. Haben Sie darüber nachgedacht, Ihre aktuelle Datetime in eine Variable zu setzen und einfach das Div für die Anzeige zu verwenden? – Filburt

+0

Es stellt sich heraus, dass Sie nicht einmal eine (globale) Variable benötigen. – Filburt

Antwort

1

Try this:

var time = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>"); 

$(function() { 
    $('#clock')[0].innerHTML = time; 
    clock_tick(); 
}); 

function clock_tick() { 
    var clock_div = $('#clock')[0]; 
    time = moment(time); 
    time.add('second', 1); 
    clock_div.innerHTML = time.format("hh:mm:ss"); 
    setTimeout("clock_tick()", 1000); 
} 
0

Sie haben nicht die ursprüngliche Datetime von PHP emittieren müssen - nur new Date() verwenden und man konnte vertrauen auf Ihrem setTimeout, es sei denn, Sie benötigen eine hochpräzise Uhr.

Mit .toLocaleTimeString() können Sie sogar für bestimmte Zeitformate (AM/PM vs 24h) sorgen.

$(function() { 
 
    clock_tick(); 
 
}); 
 

 
function clock_tick() { 
 
    // just get the current DateTime 
 
    time = new Date(); 
 

 
    // let a builtin function take care of the output formatting 
 
    $('#clock').html(time.toLocaleTimeString("hi-IN")); 
 

 
    // your timeout controls the elapsed second 
 
    setTimeout("clock_tick()", 1000); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="clock"></div>

Verwandte Themen