首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据报警器不能在2/28上正确地减去?

问数据报警器不能在2/28上正确地减去?
EN

Stack Overflow用户
提问于 2013-02-28 17:55:28
回答 1查看 92关注 0票数 0

我想我没有产生幻觉,因为我已经试过十几次了。这是我的密码:

代码语言:javascript
复制
        $('#teo_prep_due').change(function() {
        var ber = $('#ber_rcvd');
        var tpd = $('#teo_prep_due');
        var brDate = ber.datepicker('getDate');
        var tpDate = tpd.datepicker('getDate');
        var s1Date = new Date();
        var s2Date = new Date();
        var sdDate = new Date();
        s1Date.setDate(brDate.getDate() + 5);
        console.log(s1Date);
        s2Date.setDate(tpDate.getDate() - 3);
        console.log(s2Date);
        if (s1Date < s2Date) {
            sdDate.setDate(s1Date.getDate());
        } else {
            sdDate.setDate(s2Date.getDate());
        }
        $('#survey_due').datepicker('setDate', sdDate);
    });

在我的日期表中,我输入了February 28, 2013表示ber_rcvd,March 14, 2013输入了teo_prep_due。按照代码,我的结果应该是March 5, 2013。然而,s2Date导致了February 11, 2013,就像一个完整的月和3天被减去,而不是仅仅3天。还有其他人碰到这个吗?

用途:jquery-1.9.1.min.js,jquery-migrate-1.1.1.js和jquery-ui-1.10.1.min.js。

http://jsfiddle.net/devlshone/veP7b/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 18:20:05

问题是.setDate()没有设置日期,而是设置月份的日期。它以整数作为参数。当您创建s2Date时,它默认为今天,也就是2月份。当您将tpDate.getDate()// equals 14与-3相加时,您将得到11,因此是2月11日。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15142334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档