检查多种格式的日期是否在范围内的函数

时间:2016-01-21 19:21:20

标签: javascript jquery date

我的变量范围看起来像这样:

startDate = 2015-12-01 endDate = 2015-12-31

我需要检查的另一个日期是在这样的范围内:

dateToCheck = 01/15/2016

我试图编写一个函数,该函数返回日期是否在范围内的真或假:

function dateInRange(date, startDate, endDate) {

}

在PHP中,您可以将任何日期字符串转换为时间戳,我不确定如何在多种格式的Javascript中执行此操作?

1 个答案:

答案 0 :(得分:4)

您可以创建一个解析日期并返回Date对象的函数

function createDate(date) {
    if ( date.indexOf('-') !== -1 ) {
        var parts = date.split('-');
        return new Date(parts[0], parts[1]-1, parts[2]);
    } else if ( date.indexOf('/') !== -1 ) {
        var parts = date.split('/');
        return new Date(parts[2], parts[0]-1, parts[1]);
    } else {
        return new Date(date);
    }

} 

然后你可以解析日期并做

function dateInRange(date, startDate, endDate) {

    return date > startDate && date < endDate;

}

FIDDLE