欢迎!我有一个问题。如何使用moment.js显示两个输入的差异?现在我有这个代码:
{{1}}
它不起作用不知道为什么
答案 0 :(得分:0)
你可以在几秒钟内获得差异。我试着找到doc的那一刻,并且无法找到如何解析为特定的时间格式,然后可能需要编写。
function pad(num) {
return ("0"+num).slice(-2);
}
function hhmmss(secs) {
var minutes = Math.floor(secs / 60);
secs = secs%60;
var hours = Math.floor(minutes/60)
minutes = minutes%60;
return pad(hours)+":"+pad(minutes)+":"+pad(secs);
}
var diff = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"), 'second')
document.writeln(hhmmss(diff))
获取了摘录
答案 1 :(得分:0)
关于此,还有许多其他StackOverflow问题/答案。 为了帮助您入门,我放了一个片段。这将显示天数的差异。 查看the docs了解详情
<html>
<body>
<input type="date" id="dep" />
<input type="date" id="arr" />
<input type="button" onclick="test()" value="Test"/>
<div id="test"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
<script>
function test()
{
var now = document.getElementById('dep').value;
var then = document.getElementById('arr').value;
document.getElementById('test').innerHTML = moment(now,"YYYY/MM/DD HH:mm:ss").diff(moment(then,"YYYY/MM/DD HH:mm:ss"), "days");
}
</script>
</body>
</html>
&#13;
答案 2 :(得分:0)
使用document.getElementById("Div-Tag-ID").value = ....
代替document.writeln
您可以获得两个DateTime值之间的差异
moment('2013-11-16') - moment('2013-11-15')
答案将在几毫秒内完成。据此,它的86400000是24小时。
答案 3 :(得分:0)
我假设您希望以秒为单位获得时间差异。
您可以尝试以下代码:
var departure = document.getElementById('dep').value;
var arrival = document.getElementById('arr').value;
var startTime = moment(departure, 'YYYY-MM-DD HH:mm:ss');
var endTime = moment(arrival, 'YYYY-MM-DD HH:mm:ss');
var duration = endTime.diff(startTime, 'seconds');
您可以更改时间格式,我使用&#39; YYYY-MM-DD HH:mm:ss&#39;