雖然我比較了javascript中的兩個日期,但是在計算日期時我得到了奇怪的值。我的Javascript有什麼問題日期比較
任何人都可以在我的代碼中看到任何明顯的東西導致問題?
問題是今天的日期變量看起來像一個正常的日期,但我的下週和上週的計算出來大數字和比較將無法正常工作。
//Handles client side date selection changed
function dateSelectionChanged(sender, args) {
//Declare array for Day names
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
//Get the date
var date = sender.get_selectedDate();
//Get todays Date
var today = new Date();
var nextWeek = new Date().setDate(today.getDate() + 7);
var lastWeek = new Date().setDate(today.getDate() - 7);
//Show the day name
$('#<%= txtDay.ClientID %>').val(days[date.getDay()]);
if (date < lastWeek) {
alert('Date Under Week');
}
if (date > nextWeek) {
alert('Date Over Week');
}
}
這裏是在調試代碼,所以你可以看到值:
編輯: 解決方案
//Handles client side date selection changed
function dateSelectionChanged(sender, args) {
//Declare array for Day names
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
//Get the date
var date = sender.get_selectedDate();
//Get todays Date
var today = new Date();
var nextWeek = new Date().setDate(today.getDate() + 7);
var lastWeek = new Date().setDate(today.getDate() - 7);
//Get the dates in easier to compare format
nextWeek = new Date(nextWeek);
lastWeek = new Date(lastWeek);
//Show the day name
$('#<%= txtDay.ClientID %>').val(days[date.getDay()]);
if (date < lastWeek) {
alert('Date Under Week');
}
if (date > nextWeek) {
alert('Date Over Week');
}
}
究竟是什麼問題?你獲得的數字很大嗎? – pimvdb
@pimvdb - 更新的問題。 – WraithNath
只是一個評論,因爲這不是一個完整的答案。另一種方式,你可以做到這一點將強制「今天」是一個數字。這實際上很簡單:'today = +(new Date());' – nickf