Показать сообщение отдельно
  #4 (permalink)  
Старый 19.08.2013, 13:31
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Что бы не плодить темы спрошу тут:
нашел я подходящий скрипт здесь: http://www.o-o-d.com/timecalc.php

удалил все нужное. Вроде все работает.
Но есть одна проблема: если например время1 - 23:55, а я прибавляю к нему 55 минут, то вместо 0:50, я получаю 24:50. Как это можно исправить?
У автора, по ссылке выше, такая же ситуация. Вот мой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
  <HEAD>
    <TITLE>
      Калькулятор времени
    </TITLE>
    <META http-equiv="Cache-Control" content="no-cache">
    <LINK rel='stylesheet' type='text/css' href='css/format.css'>
  </HEAD>
  <BODY>
    <SCRIPT type="text/javascript" language="JavaScript">
var t=3;



    function getTimeFromString(str)
    {
       var h=str.substring(0,str.indexOf(":"));
       var m=str.substring(str.lastIndexOf(":")+1,str.length);
       return m*60+h*60*60;
    }



    function calc_up() {
    var time=[];
    var i=0;
    var s=0;

      for(i=1;i<t;i++)
    {
    time[i]=1*getTimeFromString(document.getElementById('t'+i).value);
    s+=time[i];
    }


    var ts=s;
    var new_ts=0;
    var tsstring="";
    while(ts>1000)
    {
    new_ts=Math.floor(ts/1000);
    tsstring=(ts-new_ts*1000)+" "+tsstring
    ts=new_ts;
    }


    var m=0;
    var h=0;
    if (s > 59) {
    m = Math.floor(s/60);
    s = s - m * 60;
    }
    if (m > 59) {
    h = Math.floor(m / 60);
    m = m - h * 60;
    }
    if (s < 10) {
    s = "0" + s;
    }
    if (m < 10) {
    m = "0" + m;
    }

    document.getElementById('tres').innerHTML=h+":"+m;

    return;

      }




         function calc_down() {
    var time=[];
    var i=0;
    var s=0;

      for(i=1;i<t;i++)
    {
    time[i]=1*getTimeFromString(document.getElementById('t_down'+i).value);
    s+=time[i];
    }


    var ts=s;
    var new_ts=0;
    var tsstring="";
    while(ts>1000)
    {
    new_ts=Math.floor(ts/1000);
    tsstring=(ts-new_ts*1000)+" "+tsstring
    ts=new_ts;
    }


    var m=0;
    var h=0;
    if (s > 59) {
    m = Math.floor(s/60);
    s = s - m * 60;
    }
    if (m > 59) {
    h = Math.floor(m / 60);
    m = m - h * 60;
    }
    if (s < 10) {
    s = "0" + s;
    }
    if (m < 10) {
    m = "0" + m;
    }

    document.getElementById('tres_down').innerHTML=h+":"+m;

    return;

      }





    </SCRIPT>

    <DIV align="center">
      <TABLE id="tab" border="0">
        <TR>
          <TD class='c' colspan="3">
            <b>ВВЕРХ</b>
          </TD>
        </TR>
        <TR>

          <TD>
            Время 1:
          </TD>
          <TD>
            <INPUT id="t1" maxlength="9" onkeyup="calc_up()" type="text" size="10" value="00:00">
          </TD>
        </TR>

        <TR>

          <TD>
            Время 2:
          </TD>
          <TD>
            <INPUT id="t2" maxlength="9" onkeyup="calc_up()" type="text" size="10" value="">

          </TD>
        </TR>
        <TR>
          <TD colspan="2">
            Результат:
          </TD>
          <TH>
            <DIV id="tres">
              0:00
            </DIV>

          </TH>
        </TR>

      </TABLE>
    </DIV>



            <br><br>




        <DIV align="center">
      <TABLE id="tab" border="0">
        <TR>
          <TD class='c' colspan="3">
            <b>ВНИЗ</b>
          </TD>
        </TR>
        <TR>

          <TD>
            Время 1:
          </TD>
          <TD>
            <INPUT id="t_down1" maxlength="9" onkeyup="calc_down()" type="text" size="10" value="00:00">
          </TD>
        </TR>

        <TR>

          <TD>
            Время 2:
          </TD>
          <TD>
            <INPUT id="t_down2" maxlength="9" onkeyup="calc_down()" type="text" size="10" value="">

          </TD>
        </TR>
        <TR>
          <TD colspan="2">
            Результат:
          </TD>
          <TH>
            <DIV id="tres_down">
              0:00
            </DIV>

          </TH>
        </TR>

      </TABLE>
    </DIV>
  </BODY>
</HTML>
Ответить с цитированием