2012-11-07 2 views
1

입력 필드 값을 가져 와서 밀리 초로 변환하고 모두 합산하려고합니다.datejs를 사용하여 입력 값 합계

어떻게 날짜를 사용하여 시간을 계산할 수 있습니까?

예 : geoffrey.mcgill에 의해

<input type="text" class="singleSumma" value="03:30"> 
<input type="text" class="singleSumma" value="02:30"> 
<input type="text" class="singleSumma" value="03:45"> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".singleSumma").each(function(){ 
     var singleSummaVal= $(this).val();    
      if (singleSummaVal) {          
       var ssv = Date.parse(singleSummaVal).getTime(); 
          //how to sum input values using datejs? 
          // result= ssv.add(ssv);       


      }   
    }); 
}); 
</script> 

솔루션

var t = Date.today(); 
var sum= 0 ; 

$(".singleSumma").each(function() {    
    var singleSummaVal = $(this).val(); 
     if (singleSummaVal) { 
     var ssv = Date.parse(singleSummaVal); 
     sum += (ssv - t); 
      var ts = new TimeSpan(sum); 

      console.log(ts.hours + ":" + ts.minutes); 
     } 
}); 
+0

물론 설명서를 읽었습니까? 그럼 당신은 이미 [당신은'.parse' (http://code.google.com/p/datejs/wiki/APIDocumentation#parse)에 대한 호출 후에 Javascript Date를 가지고 있기 때문에 ['getTime()'은 숫자를 제공합니다.] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTime) .. 우리 모두 숫자를 함께 넣는 법을 알고 있습니다. 맞습니까? –

+0

@LightnessRacesinOrbit, 나는 .add() 함수를 사용하여 datejs/timejs를 사용하는 방법을 모르겠다. – InTry

+0

'.add()'가 무엇인지 모르면 왜 필요하다고 생각하니? '+'의 문제점은 무엇입니까? –

답변

1

당신은 일의 시작에서 각 값에 대해 밀리 초 단위로 값을 얻을 수 있습니다. 그런 다음 밀리 초 값을 모두 합하여 새 TimeSpan 객체로 전달하십시오. TimeSpan은 일, 시간, 분, 초 및 밀리 초 수를 계산합니다.

다음 샘플은 전체 시나리오를 보여줍니다. 이 도움이

var d1 = Date.parse('03:30'), 
    d2 = Date.parse('02:30'), 
    d3 = Date.parse('03:45'), 
    t = Date.today(); 

var sum = (d1 - t) + (d2 - t) + (d3 - t); 

var ts = new TimeSpan(sum); 

console.log('hours', ts.hours); // 9 
console.log('minutes', ts.minutes); // 45 

희망.

+0

제안대로 작동합니다. 첫 번째 게시물을 업데이트했습니다. 고맙습니다! – InTry

+0

btw. 1 대신 시간/분을 01로 포맷하는 방법은 무엇입니까? – InTry

+1

DateJS 형식 지정자 목록은 https://code.google.com/p/datejs/wiki/FormatSpecifiers –

0

에 한번 사용이

<script type="text/javascript"> 
$(document).ready(function(){ 
    var totalSum = 0; 
    $(".singleSumma").each(function(){ 
     var singleSummaVal= $(this).val();    
      if (singleSummaVal) {          
       var ssv = Date.parse(singleSummaVal).getTime(); 
       totalSum += ssv; 
      }   
    }); 
    alert('ts in seconds' + totalSum); 
    // or if you like other time properties 
    var sumDT = new Date(); 
    sumDT.setTime(totalSum);  
}); 
</script> 
+0

'code'totalSum + = ssv;'code'가 제게 잘못된 결과를주었습니다. 나는 datejs 함수를 사용해야한다고 생각합니다 .add() – InTry

+0

틀린 _how _...? –