2 qq 15290009 qq_15290009 于 2016.02.29 13:21 提问

文本框里的日期转换成天数?

图片说明

就像图片一样 有俩个文本框 截止-起算=天数 有日历挂件

如果要转换的话 是不是跟下面的代码没关系

   //显示当前日期
        var d = new Date();
        var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime30').val(s2);

        //显示截止日期
        var d = new Date();
        var s1 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        $('#EntTime31').val(s1);

该怎么写呢?

var val = $("#EntTime30").find("option:selected").attr("name") || 'd0';
这样吗??   "option:selected" 这个是下拉列表的情况获取  那文本框呢  

下面的是html 
html

<tr>
                                                                                                        <td>起算日期:</td>
                                                                                                        <td>
                                                                                                          <input type="text" class="date" id="EntTime30" name="EntTime30" onclick="return showCalendar('EntTime30', 'y-mm-dd');" />
                                                                                                                                                                                                                                    <span>请点击</span>

                                                                                                        </td>
                                                                                                    </tr>
                                                                                                     <tr>
                                                                                                        <td>截止日期:</td>
                                                                                                        <td>                                                                                                    
                                                                                                            <input type="text" class="date" id="EntTime31" name="EntTime31" onclick="return showCalendar('EntTime31', 'y-mm-dd');"/><span>请点击</span>


                                                                                                        </td>
                                                                                                    </tr>

2个回答

showbo
showbo   Ds   Rxr 2016.02.29 14:01
已采纳

    function getDays(s1, s2) {
        var d1 = new Date(s2.replace(/-/g, '/'));
        var d2 = new Date(s1.replace(/-/g, '/'));
        var ms = Math.abs(d2.getTime() - d1.getTime());//毫秒
        var d = ms / 1000 / 60 / 60 / 24;//转为天
        return d;
    }

    alert(getDays('2016-2-23', '2016-2-28'))
qq_15290009
qq_15290009 ????、
接近 2 年之前 回复
qq_15290009
qq_15290009 没明白
接近 2 年之前 回复
qq_15290009
qq_15290009 回复无聊码农: 怎么引用 在哪里 ???
接近 2 年之前 回复
showbo
showbo 回复热呛: 需要在引用了,这些代码都是js内置的,没用到第三方类库。你只需要传递参数进去计算就行,不分开始或者结束日期
接近 2 年之前 回复
qq_15290009
qq_15290009 你的这个 是不是 放进我的js里就能用了 就已经能计算了 不用再写些别的了???
接近 2 年之前 回复
qq_15290009
qq_15290009 不在了
接近 2 年之前 回复
qq_15290009
qq_15290009 回复无聊码农: 是 我知道 用到别的计算里 其实就是前几天的那个 经理说不是那样的 上面的用不着利率 跟年月日 就最下面的俩 有改的 现在是 标的金额*利率*天*2=逾期 要是调用的话 是不是 var day = getDay s(); 完了 Costcalculator3(input,input1,day) 这样 经理没说明白 还得重写
接近 2 年之前 回复
showbo
showbo 回复热呛: 你这个又是什么的?我给的这是计算2个时间差的,你选中日期后调用下getDays,传入你2个时间控件的input的值
接近 2 年之前 回复
qq_15290009
qq_15290009 function Costcalculator3(input,input1){ input = parseFloat(input) || 0; input1 = parseFloat(input) || 0; var lj5 = 0; var day = getDays(); lj5 = [(input*input1/100)*day]/2 $("#lj5").val(lj5); } 要是计算的话这么写对吗
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.29 13:50
   function  btnCount_Click(){  
       s1  =  "2006-12-18"  
       s2  =  "2007-1-5"  
       alert("第一个日期;"+s1+"/n第二个日期:"+s2+"/n相差"+DateDiff(s1,s2)+"天")  
   }  

   //计算天数差的函数,通用  
   function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2006-12-18格式  
       var  aDate,  oDate1,  oDate2,  iDays  
       aDate  =  sDate1.split("-")  
       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2006格式  
       aDate  =  sDate2.split("-")  
       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
       return  iDays  
   }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!