2017-01-19 9 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> 

Я хочу автоматическое увеличение секунд. Я знаю, что если я используюjavascript: ошибка для инкремента секунд

var today = new Date(); 

Вместо этого,

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

он будет выполнен successfully.but я не хочу that.I нужен вывод основан на коде, написанном выше.

Благодаря

+0

Я не вижу никакого подхода to.increase времени –

+0

мне нужно решение в противном случае я не могу продолжать свою project.One из знаменитой цитаты, что ** «Если есть вопрос, должно быть решение» ** –

ответ

1

Попробуйте эту модификацию для 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); 
} 

Пример - https://jsfiddle.net/1btotz3a/

+0

u проделал отличную вещь. Но сначала я прошу прощения за u, потому что ** var st ** значение получает из html код, а также я вызываю fu nction в body.So мне нужно объявить значение внутри цикла for.I думаю, что ur путают, поэтому я даю несколько подробностей ниже ' span id =" txt ">' this is html page.and js script Я получаю значение через 'var st = document.getElementById ('vars'). value; 'это то, как я устанавливаю значение переменной st. Теперь я думаю, что ur очищен. –

+0

, поэтому я не могу объявить переменную ** st ** перед функцией.so, пожалуйста, помогите мне. Спасибо –

+0

помещаем скрипт в нижнюю часть файла, чтобы вы могли объявить var st вне функции (после тега body). Если я помогите вам, пожалуйста, подтвердите этот ответ –