问题描述
- 文本框里的日期转换成天数?
-
就像图片一样 有俩个文本框 截止-起算=天数 有日历挂件
如果要转换的话 是不是跟下面的代码没关系
//显示当前日期 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>
解决方案
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'))
解决方案二:
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
}
时间: 2024-10-24 18:13:39