1

入力フィールドの値を取得し、それらをミリ秒に変換し、すべてを合計しようとしています。

datejs を使用して時間を合計するにはどうすればよいですか?

例えば。

<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>

geoffrey.mcgillによる解決策

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);
      }
});
4

2 に答える 2

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

お役に立てれば。

于 2012-11-08T17:26:41.507 に答える
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>
于 2012-11-07T18:48:27.917 に答える