Javascript 用于检查多种格式的日期是否在范围内的函数
我的变量范围如下所示:Javascript 用于检查多种格式的日期是否在范围内的函数,javascript,jquery,date,Javascript,Jquery,Date,我的变量范围如下所示: startDate=2015-12-01 endDate=2015-12-31 我需要检查另一个日期是否在如下所示的范围内: dateToCheck=01/15/2016 我试图编写一个函数,返回日期是否在范围内的true或false: function dateInRange(date, startDate, endDate) { } 在PHP中,您可以将任何日期字符串转换为时间戳,我不知道如何在Javascript中从多种格式转换为时间戳?您可以创建一个解析日期并
startDate=2015-12-01
endDate=2015-12-31
我需要检查另一个日期是否在如下所示的范围内:
dateToCheck=01/15/2016
我试图编写一个函数,返回日期是否在范围内的true或false:
function dateInRange(date, startDate, endDate) {
}
在PHP中,您可以将任何日期字符串转换为时间戳,我不知道如何在Javascript中从多种格式转换为时间戳?您可以创建一个解析日期并返回日期对象的函数
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;
}
函数日期范围(日期、开始日期、结束日期){
返回日期>开始日期&日期<结束日期;
}
您可以创建一个解析日期并返回日期对象的函数
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;
}
函数日期范围(日期、开始日期、结束日期){
返回日期>开始日期&日期<结束日期;
}
您可以使用。您也可以将它们转换为字符串:yyy-MM-DD并进行比较,但使用时间戳更好可能是您有内置的,或者有类似的库具有更智能的日期分析器。date.parse在2016年1月15日无法使用。您也可以将它们转换为字符串:yyy-MM-DD并进行比较,但是使用时间戳更好,可能你有内置的,或者有类似的库有更智能的日期分析器。date.parse在2016年1月15日无法工作返回新日期(date)|0;不是很有用,因为它有时返回日期,有时返回整数0@Gavriel-它只是为比较等返回一个数字,而不是字符串
无效日期
,而是另一个返回返回日期。也许你想返回新的日期(…)。getTime()无处不在?还有,为什么一个格式不正确的日期字符串需要表示1970-01-01?无论如何,将一个日期强制值与毫秒进行比较,不需要getTime
,在这里,我再次返回0
,如整数零,而不是历元,因为这似乎比返回字符串无效日期更好,但不管怎么说,这个答案并不重要,所以我将删除它,因为您似乎不明白我添加它的原因。return new Date(Date)|0;不是很有用,因为它有时返回日期,有时返回整数0@Gavriel-它只是为比较等返回一个数字,而不是字符串无效日期
,而是另一个返回返回日期。也许你想返回新的日期(…)。getTime()无处不在?还有,为什么一个格式不正确的日期字符串需要表示1970-01-01?无论如何,将一个日期强制值与毫秒进行比较,不需要getTime
,在这里,我再次返回0
,如整数零,而不是历元,因为这似乎比返回字符串无效日期更好,但不管怎么说,这个答案并不重要,所以我会删除它,因为你似乎不明白我为什么要添加它。