我需要检查日期 - date
格式中的字符串- 是否属于具有相同格式的其他两个日期之间dd/mm/yyyy
我试过这个,但它不起作用:
var dateFrom = "02/05/2013";
var dateTo = "02/09/2013";
var dateCheck = "02/07/2013";
var from = Date.parse(dateFrom);
var to = Date.parse(dateTo);
var check = Date.parse(dateCheck );
if((check <= to && check >= from))
alert("date contained");
Run Code Online (Sandbox Code Playgroud)
我使用调试器并检查,dd/mm/yyyy
并且to
变量有from
值.你可以帮帮我吗?
Dio*_*ode 86
Date.parse
支持的格式 mm/dd/yyyy
不dd/mm/yyyy
.对于后者,要么使用像moment.js这样的库,要么执行如下所示的操作
var dateFrom = "02/05/2013";
var dateTo = "02/09/2013";
var dateCheck = "02/07/2013";
var d1 = dateFrom.split("/");
var d2 = dateTo.split("/");
var c = dateCheck.split("/");
var from = new Date(d1[2], parseInt(d1[1])-1, d1[0]); // -1 because months are from 0 to 11
var to = new Date(d2[2], parseInt(d2[1])-1, d2[0]);
var check = new Date(c[2], parseInt(c[1])-1, c[0]);
console.log(check > from && check < to)
Run Code Online (Sandbox Code Playgroud)
小智 39
而不是直接比较日期,比较日期的getTime()值.getTime()函数返回自1970年1月1日以来作为整数的毫秒数 - 确定一个整数是否介于两个其他整数之间应该是微不足道的.
就像是
if((check.getTime() <= to.getTime() && check.getTime() >= from.getTime())) alert("date contained");
Run Code Online (Sandbox Code Playgroud)
Pan*_*ian 12
试试下面的内容.它会帮助你......
小提琴: http ://jsfiddle.net/RYh7U/146/
脚本:
if(dateCheck("02/05/2013","02/09/2013","02/07/2013"))
alert("Availed");
else
alert("Not Availed");
function dateCheck(from,to,check) {
var fDate,lDate,cDate;
fDate = Date.parse(from);
lDate = Date.parse(to);
cDate = Date.parse(check);
if((cDate <= lDate && cDate >= fDate)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
And*_*huk 11
基于已接受的答案的简化方法。
就我而言,我需要检查当前日期(今天)是否在其他两个日期的范围内,因此使用 newDate() 而不是硬编码值,但您可以了解如何使用硬编码日期。
var currentDate = new Date().toJSON().slice(0,10);
var from = new Date('2020/01/01');
var to = new Date('2020/01/31');
var check = new Date(currentDate);
console.log(check > from && check < to);
Run Code Online (Sandbox Code Playgroud)
小智 8
有50票的答案不会在几个月的支票中检查日期.答案不正确.以下代码有效.
var dateFrom = "01/08/2017";
var dateTo = "01/10/2017";
var dateCheck = "05/09/2017";
var d1 = dateFrom.split("/");
var d2 = dateTo.split("/");
var c = dateCheck.split("/");
var from = new Date(d1); // -1 because months are from 0 to 11
var to = new Date(d2);
var check = new Date(c);
alert(check > from && check < to);
Run Code Online (Sandbox Code Playgroud)
这是在另一个答案中发布的代码,我更改了日期,这就是我注意到它不起作用的方式
var dateFrom = "02/05/2013";
var dateTo = "02/09/2013";
var dateCheck = "07/07/2013";
var d1 = dateFrom.split("/");
var d2 = dateTo.split("/");
var c = dateCheck.split("/");
var from = new Date(d1[2], parseInt(d1[1])-1, d1[0]); // -1 because months are from 0 to 11
var to = new Date(d2[2], parseInt(d2[1])-1, d2[0]);
var check = new Date(c[2], parseInt(c[1])-1, c[0]);
alert(check > from && check < to);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
113781 次 |
最近记录: |