2014-12-05 37 views
0

我已經在javascript中創建了一個函數來檢查時間是否有效,即如果新時間(具有開始和結束時間)處於固定時間之間(具有開始和結束時間),它是有效的,否則無效。使用javascript檢查在固定時間內有效的新時間

Working JSFiddle

我的代碼如下

這裏給出它給有效時,我給無效倍

var fixedTime = {start : '2014-11-13T09:00:00', end : '2014-11-13T13:00:00'}; 
var newTime = {start : '2014-11-13T06:30:00', end : '2014-11-13T08:30:00'}; 

if(checkDates(fixedTime, newTime)) 
{ 
    window.alert("Valid"); 
} 
else 
{ 
    window.alert("Invalid"); 
} 
function checkDates(fixedTime, newTime) 
{ 
    var returnBoolean = true; 
     if(((new Date(newTime.start).getTime()) <= (new Date(fixedTime.start).getTime()) && (new Date(newTime.start).getTime()) >= (new Date(fixedTime.end).getTime())) || ((new Date(newTime.end).getTime()) <= (new Date(fixedTime.start).getTime()) && (new Date(newTime.end).getTime()) >= (new Date(fixedTime.end).getTime()))) 
     { 
      returnBoolean = false; 
     } 

    return returnBoolean; 
} 

誰能告訴我,這

回答

3
一些解決方案

不需要如此巨大的複雜性。你只需要進行兩個比較:

var fixedTime = { 
    start: new Date('2014-11-13T09:00:00').getTime(), 
    end: new Date('2014-11-13T13:00:00').getTime() 
}; 
var newTime = { 
    start: new Date('2014-11-13T06:30:00').getTime(), 
    end: new Date('2014-11-13T08:30:00').getTime() 
}; 

if (checkDates(fixedTime, newTime)) { 
    alert("Valid"); 
} else { 
    alert("Invalid"); 
} 

function checkDates(fixedTime, newTime) { 
    return newTime.start > fixedTime.start && newTime.end < fixedTime.end; 
} 

Fiddle

+0

superbbb ............ – 2014-12-05 13:16:11

相關問題