Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:将日期作为数字进行比较_Javascript_Date - Fatal编程技术网

Javascript:将日期作为数字进行比较

Javascript:将日期作为数字进行比较,javascript,date,Javascript,Date,这很简单,但我不知道if语句从不为tue的原因: var sFrom = $('#from').val(); //2013-10-04 var sTo = $('#to').val(); //2013-10-06 var dFrom = Date.parse(sFrom); var dTo = Date.parse(sTo); var dFullDate = new Date(item.created*1000); var sDate = dFullDate.getFullYear()

这很简单,但我不知道if语句从不为tue的原因:

var sFrom = $('#from').val(); //2013-10-04
var sTo = $('#to').val(); //2013-10-06

var dFrom = Date.parse(sFrom); 
var dTo = Date.parse(sTo); 

var dFullDate = new Date(item.created*1000);
var sDate = dFullDate.getFullYear() + "-" + (dFullDate.getMonth()+1) + "-" + dFullDate.getDate();
var dDate = Date.parse(sDate); //2013-10-5 should work, but nothing works

if((dDate > dFrom) && (dDate < dTo)){
  insertItem(i, item);
}
var sFrom=$('#from').val()//2013-10-04
var sTo=$('#to').val()//2013-10-06
var dFrom=Date.parse(sFrom);
var dTo=Date.parse(sTo);
var dFullDate=新日期(创建的项目*1000);
var sDate=dFullDate.getFullYear()+“-”+(dFullDate.getMonth()+1)+“-”+dFullDate.getDate();
var dDate=Date.parse(sDate)//2013-10-5应该行得通,但什么都不行
如果((dDate>dFrom)和&(dDate
更新

它比较两个日期,其中一个日期的日期或月份为一位数(如果小于10)。所以我所做的就是添加一个函数,将其转换为两位数,现在比较就可以了

function parseDateToYYYYMMDD(date){
    var year = date.getFullYear();
    var month = date.getMonth()+1;
    var day = date.getDate();

    if(month < 10){
        month = "0" + month;
    }

    if(day < 10){
        day = "0" + day;
    }

    var sDate = year + "-" + month + "-" + day;
    var dDate = Date.parse(sDate);
    return dDate;
}
函数parseDateToYYYYMMDD(日期){
var year=date.getFullYear();
var month=date.getMonth()+1;
var day=date.getDate();
如果(月<10){
月份=“0”+月份;
}
如果(第10天){
day=“0”+天;
}
var sDate=年+“-”+月+“-”+日;
var dDate=Date.parse(sDate);
返回dDate;
}

根据您使用的浏览器,
Date.parse
可能不支持该
YYYY-MM-DD
格式,该格式仅在ECMAScript 5(大约四年前)时添加到规范中

尽管规范中从未包含它,但几乎所有浏览器都支持
YYYY/MM/DD

例如,虽然()在Chrome上工作,但在IE8上不工作。如果我们(),它可以在Chrome和IE8上运行

当然,您也可以自己解析它:

function parseYYYYMMDD(str) {
    var parts = str.split('-');
    return +new Date(
        parseInt(parts[0], 10),     // Year
        parseInt(parts[1], 10) - 1, // Month (starts with 0)
        parseInt(parts[2], 10)      // Day
    ); 
}

如果你正在做大量的约会工作,那么不妨看看像这样的日期库。不过,仅仅为此添加它可能有点过头了。

与其使用JavaScripts本机实现,不如尝试使用moment.js,对您的问题进行更好的描述总是一个好主意“不工作”不是一个有用的问题描述。说出你期望的结果,你看到的结果,以及为什么这会让你感到惊讶。虽然它应该是真的(和我提到的日期一样),但什么是
项。创建的
?顺便说一句,你认为
dFullDate
dDate
之间有什么区别吗?@Bergi:我以为目标是删除时间部分,但这只是猜测而已。:-)