首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JsDatePick [JavaScript]的两个日期之间的差异

使用JsDatePick [JavaScript]的两个日期之间的差异
EN

Stack Overflow用户
提问于 2014-07-05 14:19:32
回答 3查看 384关注 0票数 0

我想用JsDatePick计算两个日期之间的天数差异,所以这是我的两个选择:

代码语言:javascript
复制
<script type="text/javascript">window.onload = function(){
    new JsDatePick({ useMode:2, target:"field", cellColorScheme:"deepblue", dateFormat:"%Y-%m-%d" });
    new JsDatePick({ useMode:2, target:"field2", cellColorScheme:"deepblue", dateFormat:"%Y-%m-%d" });};
</script>

选定的日期保存在此文本框中:

代码语言:javascript
复制
<input type="text" id="field" name="dateDebut"  placeholder="Date début"    />
<input type="text" id="field2" name="dateFin"  placeholder="Date Fin"   />

我不知道如何计算这两天的差日,请有人帮我,我想在这个文本框上打印出差日的数目:

代码语言:javascript
复制
<input type="text" id="Difference" name=Difference" class="span3"/>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-05 15:00:31

脚本标记中的

代码语言:javascript
复制
<script type="text/javascript">
    window.onload = function(){
        new JsDatePick({ useMode:2, target:"field", cellColorScheme:"deepblue", dateFormat:"%Y-%m-%d" });
        new JsDatePick({ useMode:2, target:"field2", cellColorScheme:"deepblue", dateFormat:"%Y-%m-%d" });
    };

    function getValue(field){
        console.log("getValue()"+document.getElementById(field).value);
        return document.getElementById(field).value;
    }

    function setValue(field,value){
        document.getElementById(field).value = value;
    }

    function showDifferenceInDays(field,field2,fieldOut){
        var fieldDate = new Date(getValue(field));
        var field2Date = new Date(getValue(field2));

        var fieldMilliseconds = fieldDate.getTime();
        //console.log(fieldMilliseconds);

        var field2Milliseconds = field2Date.getTime();
        //console.log(field2Milliseconds);

        var diffMilliseconds = fieldMilliseconds-field2Milliseconds;
        //console.log(diffMilliseconds);

        var millisecondsInADay = 1000*60*60*24;

        //console.log(diffMilliseconds/millisecondsInADay);
        setValue(fieldOut,(diffMilliseconds/millisecondsInADay));
    }
</script>

在body标记中:

代码语言:javascript
复制
<input type="text" id="field" name="dateDebut"  placeholder="Date début"    />
<input type="text" id="field2" name="dateFin"  placeholder="Date Fin"   />
<input type="text" id="Difference" name=Difference" class="span3"/>
<input type="button" value="Show Difference" onClick="showDifferenceInDays('field','field2','Difference')" />
票数 0
EN

Stack Overflow用户

发布于 2014-07-05 15:01:18

代码语言:javascript
复制
function getDays(d1, d2) {
    var time1 = d1.getTime();
    var time2 = d2.getTime();
    return parseInt((time2-time1)/(24*3600*1000));
}

date1 = new Date("6/04/2014")
//Wed Jun 04 2014 00:00:00 GMT+0530 (India Standard Time)
date2 = new Date("7/04/2014")
//Fri Jul 04 2014 00:00:00 GMT+0530 (India Standard Time)

getDays(date1,date2)
//output 30
票数 0
EN

Stack Overflow用户

发布于 2014-07-05 17:16:50

代码语言:javascript
复制
function getDays(date1, date2) {
    var timeDiff = Math.abs(date2.getTime() - date1.getTime());
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
    return diffDays;
}

var date1 = new Date(document.getElementById('field').value);
var date2 = new Date(document.getElementById('field2').value);

getDays(date1,date2)
//output 10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24587328

复制
相关文章

相似问题

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