请高手解决
问题:
1、觉得程序不够简化。(请指点一下在哪里简化一下好些?)
2、当【开始日期】为2005-2-1【结束日期】为2005-3-1 算出的相差月数不是1个月,原因就是每年的2月为28或29天,但得到的【dParameter=(1000*24*60*60*30);】中的天数为30。(难道我要再加一个参数去判定是否为2月则将30改为28或29,怎样解决?)
3、为什么会这样:在GetDateDiff函数中,我原先的程序为
startDate=sDate.replace("-","/");这样为什么只能替换一个【-】啊
后来我就用split了(为什么会这样啊。vb中的replace好像不是这样,js中怎么是这样呢??)
问题:
1、觉得程序不够简化。(请指点一下在哪里简化一下好些?)
2、当【开始日期】为2005-2-1【结束日期】为2005-3-1 算出的相差月数不是1个月,原因就是每年的2月为28或29天,但得到的【dParameter=(1000*24*60*60*30);】中的天数为30。(难道我要再加一个参数去判定是否为2月则将30改为28或29,怎样解决?)
3、为什么会这样:在GetDateDiff函数中,我原先的程序为
startDate=sDate.replace("-","/");这样为什么只能替换一个【-】啊
后来我就用split了(为什么会这样啊。vb中的replace好像不是这样,js中怎么是这样呢??)
<script>
function MustInputNumber(o,sDefaultValue)
{
var nValue = parseInt(o.value);
if(isNaN(nValue))
{
if(sDefaultValue)
o.value = sDefaultValue;
else
o.value = "0";
}
else
{
o.value = nValue;
}
}
</script>
<div style="display:inline" nowrap style="BORDER: white 2px inset"><input onchange="MustInputNumber(this,'1900')" style="border:none;TEXT-ALIGN: right" maxlength="4" value="1900" size="4">-<input style="border:none;TEXT-ALIGN: right" maxlength="2" size="2" value="1" onchange="MustInputNumber(this,'1')">-<input style="border:none;TEXT-ALIGN: right" maxlength="2" size="2" value="1" onchange="MustInputNumber(this,'1')"></div>
<script language=javascript>
<!--
function getMonthCha(dt1,dt2){
return (dt2.getYear()*12+dt2.getMonth())-
(dt1.getYear()*12+dt1.getMonth());
}
alert(getMonthCha(new Date("2004/10/1"),new Date("2005/3/1")));
// -->
</script>
求解startDate=sDate.replace("-","/");这样为什么只能替换一个【-】啊?
d = d.replace("-","/");
alert(d);
这样为什么只能替换一个【-】啊?
这样可以全部替换,replace是用的正则表达式