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
同意只有第一次检查失败休息一切都会正常工作..对不起,问这个,但是比他们更好地比较年,月和日? –