如何在当月的两个日期之间进行检查?
例如,我想在1月1日和1月8日之间检查,不管是哪一年(我是英国人,所以我的日期是(年/月/日):
var date = new Date(); //This is the current date
date1 = new Date('01, 01, date.getFullYear()');
date2 = new Date('08, 01, date.getFullYear()');
if(date >= date1 && date <= date2) {
// Do Something
} else {
// Don't do something
}
或者另一个例子,让我们说万圣节:
var date = new Date();
date1 = new Date('31, date.getMonth(), date.getFullYear()');
if(date == date1) {
// Do Something
} else {
// Don't do something
}
我不太确定如何在Javascript中对其进行格式化,我们将非常感谢您的帮助!
答案 0 :(得分:2)
您正在错误地初始化Date个对象。如果要使用字符串初始化日期,则该字符串需要具有可由Date.parse处理的格式。
但是,您传递的字符串看起来实际上根本不想传递任何字符串。所以只省略单引号,如下:
var date1 = new Date(date.getFullYear(), 0, 1);
请注意,第一个参数是年份,第二个参数是月份(从零开始,因此0表示1月),第三个参数是月份的日期。
答案 1 :(得分:1)
几点......
new Date
参数都是(年,月,日)。因此,date2
应为date2 = new Date(date.getFullYear(), 0, 8)
。
还养成将var
放在变量声明前面的习惯。不要担心为什么呢;你去的时候就会了解这一点。
所以你的代码应该是这样的:
var date = new Date();
var date1 = new Date(date.getFullYear(), 0, 1);
var date2 = new Date(date.getFullYear(), 0, 8);
if(date >= date1 && date <= date2) {
// this part was correct :)
//Do Something
}