如何添加平均小时、分钟、秒和毫秒js



在下面的示例中,三次的平均值是01:42:22:566,我的问题是如何在javascript中做到这一点。

<form action="/action_page.php">
<label for="vOne">Value One:</label>
<input type="text" id="vOne" name="vOne" value="01:01:01:100"><br><br>
<label for="vTwo">Value Two:</label>
<input type="text" id="vTwo" name="vTwo" value="01:30:45:700"><br><br>
<label for="vThree">Value Three:</label>
<input type="text" id="vThree" name="vThree" value="02:35:20:900"><br><br>
<label for="sumValue">Sum Value:</label>
<input type="text" id="sumValue" name="sumValue" value="05:07:07:700"><br><br>
<label for="aResult">Average Result:</label>
<input type="text" id="aResult" name="aResult" value="01:42:22:566"><br><br>
<input type="button" value="average">
</form>

您必须:

  • 将字符串转换为Date对象
  • 计算平均值
  • 将值转换为字符串

试试类似的东西:

const dates = [
'01:01:01:100',
'01:30:45:700',
'02:35:20:900',
].map((date) => new Date(0, 0, 0, ...date.split(':')));
const average = new Date(dates.reduce((a, b) => +b + a, 0) / dates.length);
const averageString =
average.toLocaleTimeString() + ':' + average.getMilliseconds(); 
console.log(averageString); // "01:42:22:567"

最新更新