我有兩次基本上from
和to
時間,我如何找出這兩次之間的確切時間差?如何在javascript中查找兩次之間的時差
有時可能延伸到第二天還基於所選擇的時間和所述時間值可能是像從follwoing
:12:00:AM/PM(1(AM)/ 2(PM) )到:12:300:上午/下午(1(上午)/ 2(下午))
像明智它可以像時間可以是今天和兩個時間可以是第二天也。
注意:我應該只允許13小時,如果時間超過13小時,那麼會提醒用戶輸入的時間應該等於或低於13小時。
我嘗試了類似下面的內容,但它不包含少數值。請有人幫助我。
function isValidTimeBlock(fHour, fMinutes, fMeridian, toHour, toMinutes,toMeridian) {
// This helps to add a day if the given hour extends to next day.
var numberOfDaysToAdd = 1;
if (fMeridian == "2" && fHour < 12) fHour = fHour + 12;
if (fMeridian == "1" && fHour == 12) fHour = fHour - 12;
var hours = fHour.toString();
var minutes = fMinutes.toString();
if (fHour < 10) hours = "0" + fHour;
if (fMinutes < 10) minutes = "0" + fMinutes;
var fDate = new Date();
fDate.setHours(hours);
fDate.setMinutes(minutes);
//check if time extends to next date
if (Number(fHour) == 0) fDate.setDate(fDate.getDate() + numberOfDaysToAdd);
if (toMeridian == "2" && toHour < 12) toHour = toHour + 12;
if (toMeridian == "1" && toHour == 12) toHour = toHour - 12;
var hours = toHour.toString();
var toMinute = toMinutes.toString();
if (toHour < 10) hours = "0" + toHour;
if (toMinutes < 10) toMinute = "0" + toMinutes;
var toDate = new Date();
toDate.setHours(hours);
toDate.setMinutes(toMinute);
var diff;
//check if time extends to next date
if (Number(toHour) == 0 || Number(fHour) == 0) toDate.setDate(toDate.getDate() + numberOfDaysToAdd);
if (toDate > fDate) {
diff = toDate.getTime() - fDate.getTime();
}
else {
diff = fDate.getTime() - toDate.getTime();
}
//var diff = toDate.getTime() - fDate.getTime();
var hours = Math.floor(diff/(1000 * 60 * 60));
diff -= hours * (1000 * 60 * 60);
var mins = Math.floor(diff/(1000 * 60));
diff -= mins * (1000 * 60);
var totalMinutes = (hours * 60) + Number(mins);
//check if the value comes in negative and if so then it is more than 13 hours and alert the user
// add value to toalMinutes 780 is 13 hours and add any value between 1 to any number
if(isNaN(totalMinutes) || totalMinutes < 0) {
var totalMinutes = (780) + Number(10);
}
return totalMinutes;
}
EXAMPLE Value : From Time : 12:00:PM(2) and To Time : 01:30:1(AM)
從上面的一個總的時間是13.30,但我得到的是錯誤的上述方法630分鐘810分鐘是正確的,但它並沒有給我的價值。
,如果他們的JavaScript Date對象,它們之間的差異以毫秒爲單位劃分...適當地讓時:分:秒 –
可能重複[如何得到JavaScript中兩個日期之間的區別?](http://stackoverflow.com/questions/41948/how-do-i-get-the-difference-between-two-dates-in-javascript ) –
@JaromandaX謝謝,但我一直未能計算確切的日期對象與給定的時間,因爲有些時候它不是幫助我根據給定的時間找出它是今天的日期還是次日。 – SAR