用Javascript获取两个时间字符串之间的时间差
Getting time difference between two time strings with Javascript
我正在尝试创建一个具有3个输入(2个解锁和一个锁定)的表单,您将输入2个times
,例如7:30AM
和4:00PM
,它将在第三个框中生成seconds
的时间差异。
问题是,我似乎找不到一个实际计算时差的工作方法。
<script language="javascript" type="text/javascript">
$(document).ready(function(){
function UpdateHours(){
var start = $("#time1").val();
var end = $("#time2").val();
var dtStart = new Date("7/20/2015 " + start);
var dtEnd = new Date("7/20/2015 " + end);
var diff = dtEnd - dtStart;
$("#totalTime").val(diff);
}
$(document).on("change, keyup", "#time1", UpdateHours);
$(document).on("change, keyup", "#time2", UpdateHours);
});
</script>
<input id="time1" type="text" />
<input id="time2" type="text" />
<input id="totalTime" readonly="readonly" />
这是我迄今为止在其他事情中尝试过的。能帮我一下吗?
您遇到的问题是您正在从另一个对象中减去一个对象。我不知道JavaScript在这种情况下决定做什么,但为了安全,您不应该依赖于这种行为,即使它确实工作。你应该做的是:
var diff = dtEnd.getTime() - dtStart.getTime();
diff
将是两个日期对象之间的毫秒数。
$(document).ready(function(){
var $time1 = $("#time1");
var $time2 = $("#time2");
var $diff = $("#totalTime");
function updateHours(){
var dtStart = new Date("7/20/2015 " + $time1.val());
var dtEnd = new Date("7/20/2015 " + $time2.val());
var diff = dtEnd - dtStart;
$diff.val(diff/1000);
}
$time1.add($time2).on("change, keyup", function(){
if($time1.val() && $time2.val()){
updateHours()
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="time1" type="text" placeholder="7:00 PM"/>
<input id="time2" type="text" placeholder="8:00 PM"/>
<input id="totalTime" readonly="readonly" />
相关文章:
- Regex模式匹配,从Javascript中的字符串中提取时间,结果出乎意料
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将时间字符串值转换为时间javascript
- javascript时间戳插入字符串变量
- Mysql日期时间字符串格式为angularjs中的可读日期
- momentjs 显示本地时间和自动格式化字符串
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 如何使用 Javascript 将持续时间字符串解析为秒
- 如何在JAVASCRIPT中使用格式HH:MM AM/PM将字符串转换为时间
- 正在读取UTC时间字符串
- Javascript格式时间军用am pm从字符串
- 在javascript中使用PHP时间字符串后,倒计时不起作用
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 如何从日期字符串中删除时间
- 在JavaScript/jQuery中将日期字符串转换为unix时间戳
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 如何从javascript或jquery中的时间字符串中获取分钟数
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 如何将字符串时间跨度变量从Wcf转换为小时和分钟?
- 将字符串时间转换为毫秒