1
嗨我有一個場景,我需要獲得最近兩週銷售的書籍數量。我正在使用Javascript。一切都很好,直到今天。當星期五是比較失敗。下面是例子。無法比較星期五日期JavaScript
//Function to get Monday of thisweek,last week and last to last week.
function GetMonday(mday) {
var today, todayNumber, mondayNumber, monday;
today = new Date();
todayNumber = today.getDay();
mondayNumber = mday - todayNumber;
return new Date(today.getFullYear(), today.getMonth(), today.getDate() + mondayNumber).toDateString();
}
var currDate = new Date().toDateString(); // gets todays date
var currwkDate = GetMonday(1); //Gets this week Monday's Date
var lastwkDate = GetMonday(-6); //Gets last week Monday's Date
var twowkDate = GetMonday(-13); //Gets Last to last week Monday's Date
var BillDate=new Date("09/04/2015").toDateString(); // Friday (04 Sep)
if (currDate == BillDate) {
alert("equal");
}
if (BillDate > currwkDate) {
alert("this week");
}
if (BillDate > lastwkDate) {
alert("last week");
}
if (BillDate > twowkDate) {
alert("two week")
}
理想上面的代碼應該得到三個警告框(本週最後一週,二週)的擊打它沒有給甚至一個警報。
如果我修改上面的代碼,並把BillDate到這是不一樣週五代碼將正常工作,例如
var BillDate= new Date("09/03/2015").toDateString(); //Thursday 03-Sep
我不知道是什麼問題,請幫助的任何其他日期!!!!!
謝謝你的答案,我忘了提及BillDate將有時間包括在它之中..我之所以去toDateString的原因是因爲我想比較沒有時間戳的日期..但正如你所說我的日期正在轉換字符串以便toDateString選項不再有效。 你知道有什麼其他的方式可以比較我的日期嗎? –
@manthandavda對於代碼中的比較,時間戳不重要,因爲例如9月7日之後,無論Seputper 9在一天中的什麼時間,它都是* always *。我修改了頂部的「平等」檢查,只檢查年份,月份和日期,因爲如果時間戳存在,只有檢查失敗。 – tcooc
同意只有第一次檢查失敗休息一切都會正常工作..對不起,問這個,但是比他們更好地比較年,月和日? –