2016-03-01 71 views
2

我公司目前擁有的內以下的jQuery: -jQuery的 - 檢查當前日期和時間爲24小時選定的日期和時間

$('#datepicker').on('change', function(e) { 

    var selected_date = $('#datepicker').datepicker('getDate'); 
    var today = new Date(); 

    today.setHours(0); 
    today.setMinutes(0); 
    today.setSeconds(0); 

    var today_formatted = Date.parse(today); 
    var selected_date_formatted = Date.parse(selected_date); 

    var selected_time = $('#time').val(); 

    if (selected_date_formatted == today_formatted) { 
    console.log('yes'); 
    } else { 
    console.log('no'); 
    } 
}); 

這基本上檢查是否當前日期是一樣的選擇日期和這部分工作正常。

我需要做的是以某種方式檢查當前的日期和時間是否在選定的日期和時間的24小時內,但不知道如何實現這一點,所以任何幫助將不勝感激! :)

回答

2

基本上只是轉換你的約會對象,時間戳和檢查它們是否在24小時內使用milliseconds

$('#datepicker').on('change', function (e) { 
    var selected_date = $('#datepicker').datepicker('getDate'); 
    var today = new Date(); 

     //Remove this to get current time, leave this to get time start of day 
     today.setHours(0); 
     today.setMinutes(0); 
     today.setSeconds(0); 

    var currentDateTimestamp = today.getTime(); 
    var selectedDateTimestamp = selected_date.getTime(); 

    //Check if the timestamp is within 24 hours, 24 hours = 60 seconds * 60 minutes * 24 hours * 1000 milliseconds 
    if (Math.abs(currentDateTimestamp - selectedDateTimestamp) <= 60 * 60 * 24 * 1000) { 
     //Within 24 hours 
    } 
}); 
+0

selected_date_formatted.getTime不是功能 – nsilva

+0

請參閱編輯答案。 –

+0

謝謝,現在只有一個小問題,我選擇了tommorow 02/03/2016在23:00,它是說它仍然在24小時內? @Bobby W – nsilva

2

我想這也會爲你工作 -

var daydiff = (currentDate.getMilliseconds() - selectedDate.getMilliseconds())/86400000; 

if (daydiff < 1) { 
    //within 24h 
} else { 
    //not within 24h 
} 
相關問題