检查一个日期是否在两个日期之间 [英] Check if one date is between two dates

查看:197
本文介绍了检查一个日期是否在两个日期之间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要检查日期- dd / mm / yyyy 格式的字符串-
介于两个其他日期之间,它们的格式相同 dd / mm / yyyy

I need to check if a date - a string in dd/mm/yyyy format - falls between two other dates having the same format dd/mm/yyyy

我尝试了此操作,但它没有't正常工作:

I tried this, but it doesn't work:

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");

我使用调试器并检查了 from 变量的值为 isNaN
您能帮我吗?

I used debugger and checked, the to and from variables have isNaN value. Could you help me?

推荐答案

Date.parse 支持格式 mm / dd / yyyy 而不是 dd / mm / yyyy 。对于后者,请使用诸如moment.js之类的库或执行如下所示的操作

Date.parse supports the format mm/dd/yyyy not dd/mm/yyyy. For the latter, either use a library like moment.js or do something as shown below

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)

这篇关于检查一个日期是否在两个日期之间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆