[英]Time difference using javascript, jquery
我正在嘗試找出時差並打印出來。
我采用了兩個日期字符串,並使用數學 function 並將 output 打印到
下面的代碼給出了作為NaN
Nan:Nan
function CalcTimer(StartTiime, EndTime, NodetoDisplay) {
var Start = new Date(StartTiime).getTime();
var EndTime = new Date(EndTime).getTime();
var Diff = StartTiime - EndTime;
var days = Math.floor(Diff / (1000 * 60 * 60 * 24));
var hours = Math.floor((Diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((Diff % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((Diff % (1000 * 60)) / 1000);
NodetoDisplay.html(days+" "+hours+":"+minutes+"");
}
var addTimeDiffCalculator = {
InitializeThis : function() {
addTimeDiffCalculator.SetUpElements();
addTimeDiffCalculator.SetupBehaviour();
},
SetUpElements : function() {
var StartDate = $('<input type="text" id="StartDate">');
var EndDate = $('<input type="text" id="EndDate">');
$("#EndDate").datepicker();
var StartHr = $('<select id="StartHr">');
for(var SH=0; SH<=23; SH++){
$('<option />', {value: SH, text: SH}).appendTo(StartHr);
}
var EndHr = $('<select id="EndHr">');
for(var EH=0; EH<=23; EH++){
$('<option />', {value: EH, text: EH}).appendTo(EndHr);
}
var StartMin = $('<select id="StartMin">');
for(var SM=0; SM<=59; SM++){
$('<option />', {value: SM, text: SM}).appendTo(StartMin);
}
var EndMin = $('<select id="EndMin">');
for(var EM=0; EM<=59; EM++){
$('<option />', {value: EM, text: EM}).appendTo(EndMin);
}
var CalcButton = $('<button id="CalcButton">Calculate!</button>');
var p1 = $('<p id="p1"> Time Diff Calculator </p>'),
p2 = $('<p id="p2">'),
p3 = $('<p id="p3">'),
p4 = $('<p id="p4">'),
p5 = $('<p id="p5">');
StartDate.appendTo(p2);
StartHr.appendTo(p2);
StartMin.appendTo(p2);
EndDate.appendTo(p3);
EndHr.appendTo(p3);
EndMin.appendTo(p3);
CalcButton.appendTo(p4);
var TimeDiv = $("<div>");
p1.appendTo(TimeDiv);
p2.appendTo(TimeDiv);
p3.appendTo(TimeDiv);
p4.appendTo(TimeDiv);
p5.appendTo(TimeDiv);
TimeDiv.appendTo("body");
$("#StartDate").datepicker(); $("#EndDate").datepicker();
},
SetupBehaviour : function() {
var StDate = $("#StartDate").val(),
EnDate = $("#EndDate").val(),
StHr = $("#StartHr").val(),
EnHr = $("#EndHr").val(),
Stmin = $("#StartMin").val(),
Enmin = $("#EndMin").val();
var StartString = StDate+" "+StHr+":"+Stmin+":00",
EndString = EnDate+" "+EnHr+":"+Enmin+":00";
$("#CalcButton").click(function(){
CalcTimer(StartString,EndString,$("#p5"));
});
},
};
$(document).ready(function(){
addTimeDiffCalculator.InitializeThis();
});
我不明白哪里出了問題。 我希望這是足夠的信息來理解我的問題。
這里:
var Diff = StartTiime - EndTime;
你的意思是:
var Diff = Start - EndTime;
但它可能應該是:
var Diff = EndTime - Start;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.