2017-01-19 1 views
1
<html> 
<head> 
<script> 
function startTime() { 
    var st = "January 19, 2017 18:33:31" 
    var today = new Date(st); 
    var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des"); 
    var h = today.getHours(); 
    var ampm = h >= 12 ? 'PM' : 'AM'; 
    h = h % 12; 
    h = h ? h : 12; 
    var m = today.getMinutes(); 
    var s = today.getSeconds(); 
    h = checkTime(h); 
    m = checkTime(m); 
    s = checkTime(s); 
    document.getElementById('txt').innerHTML = 
    checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")"; 
    setTimeout(startTime, 1000); 
} 

function checkTime(i) { 
    if (i < 10) {i = "0" + i}; 
    return i; 
} 
</script> 
</head> 
<body onLoad="startTime();"> 
    <span id="txt"></span> 
</body> 
</html> 

Je souhaite incrémenter automatiquement les secondes. Je sais que si je me sersjavascript: Erreur lors de l'incrémentation des secondes

var today = new Date(); 

Au lieu de cela,

var st = "January 19, 2017 18:33:31" 
     var today = new Date(st); 

il sera exécuté successfully.but je ne veux pas that.I besoin de la sortie sur la base du code écrit au dessus.

Merci

+0

Je ne vois aucune approche to.increase le temps –

+0

je besoin d'une solution sinon je ne peux pas continuer mon project.One de la fameuse citation que ** "S'il y a une question, il doit y avoir une solution" ** –

Répondre

1

Essayez cette modification pour startTime

var st = "January 19, 2017 18:33:31"; 
function startTime() { 
    var today = new Date(st); 
    var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des"); 
    var h = today.getHours(); 
    var ampm = h >= 12 ? 'PM' : 'AM'; 
    h = h % 12; 
    h = h ? h : 12; 
    var m = today.getMinutes(); 
    var s = today.getSeconds(); 
    h = checkTime(h); 
    m = checkTime(m); 
    s = checkTime(s); 
    document.getElementById('txt').innerHTML = 
    checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")"; 
    today.setSeconds(today.getSeconds() + 1); 
    st = today; 
    setTimeout(startTime, 1000); 
} 

Exemple - https://jsfiddle.net/1btotz3a/

+0

tu as fait une bonne chose mais d'abord je te demande pardon parce que la valeur ** var st ** provient d'un html code et aussi j'appelle le fu nction dans body.So j'ai besoin de déclarer la valeur à l'intérieur de la boucle for.Je pense ur confus donc je donne plus de détails ci-dessous ' span id =" txt ">' ceci est la page html et le script js je reçois la valeur à travers 'var st = document.getElementById ('vars'). value; 'C'est de cette façon que je définis la valeur de la variable st.Maintenant, je pense que nous avons effacé. –

+0

donc je ne peux pas déclarer la variable ** st ** avant la fonction.so s'il vous plaît aidez-moi. Merci –

+0

mettre le script au bas du fichier afin que vous puissiez déclarer var st en dehors de la fonction (après la balise body) Si je vous aider, s'il vous plaît approuver cette réponse –