2014-01-17 44 views
0

我正在使用ASP.Net AJAX Calendar Extender在文本框中設置日期。雖然從JavaScript中選擇用戶的日期很簡單,但我很努力地將日期設置爲星期五。JavaScript設置日期到星期五之前

詳細地說,我想要做的是,例如,如果用戶選擇了一個結果是星期二的日期,我想在文本框中顯示,不是那周的星期五,而是星期五之前,即3天前的那個。

我已經取得的成就是下一個星期五,也就是即將到來的那個,但是我用各種方式玩弄了代碼來嘗試實現我想要的東西 - 有人可以幫忙嗎?

感謝

dayToMtceSet = 5; 
distance = (dayToMtceSet - currentDay) % 7; 
toDate = toDate.setDate(toDate.getDate() + distance); 
document.getElementById('<%= txtFromDate.ClientID%>').value = formatDate(toDate); 
toDateSet = new Date(toDate); 
toDateSet = toDateSet.setDate(toDateSet.getDate() + 6); 
document.getElementById('<%= txtToDate.ClientID%>').value = formatDate(toDateSet); 

回答

0

使用純JavaScript jsFiddle

if (date.getDay() === 5) { 
    console.log(date); 
} else { 
    var beforeOneWeek = new Date(date.getTime() - 60 * 60 * 24 * 7 * 1000), 
     day = beforeOneWeek.getDay(), 
     diffToFriday = day > 5 ? 6 : 5 - day;  
     date.setDate((date.getDate() - 7) + diffToFriday); 

    console.log(date); 
} 

你也可以使用date.js

jsFiddle

var date = Date.today(); 

if (date.getDay() === 5) { 
    date = Date.today(); 
} else { 
    date = date.moveToDayOfWeek(5, -1) // 5 is Friday, -1 is back one week 
} 
+0

小號orry不能使用OpenSource Stuff,因爲要經過客戶的評估,這可能需要很長時間。有沒有另一種方法呢? – Andy5

+0

查看上面的編輯和[jsFiddle](http://jsfiddle.net/fczrp/) – Tom

+0

感謝您的代碼,但我注意到,如果我選擇一個星期六,它不會將日期調整爲星期五,但需要選定星期六日期。我需要在哪裏調整代碼? – Andy5

相關問題