日期:2014-05-16  浏览次数:20481 次

给定一个日期与天数,怎么相减
一个文本的date,客户输入的
一个文本的数值
date这个日期减去这个数值的天数
要所得到的日期的文字型
最好加上对类型的判断,以免客户输错

------解决方案--------------------
var input=new Date( "xxxx-xx-xx ");
diff=Date.Now-input;
------解决方案--------------------
var arr = "2007-4-5 ".split( "- ");
var date1 = new Date(Number(arr[0]),Number(arr[1])-1,Number(arr[2]));
alert(date1.setDate(date1.getDate()-3));
------解决方案--------------------
一个一个弄了...JS干这些是很麻烦...
JS 没有 TimeSpan 的概念....
------解决方案--------------------
Date.prototype 上自己扩展一个新方法就可以了!

因为俺看到梅大侠就是这么做的,俺觉得这用方式很简捷!

L@_@K!

<script type= "text/javascript ">
<!--
// numDateCount: 天数,可正可负。
Date.prototype.add = function(varDateCount)
{
var numTimeSpan = parseInt(varDateCount) * 1000 * 3600 * 24;
return new Date(this.valueOf() + numTimeSpan);
};

Date.prototype.getY4M2D2 = function()
{
var strDelimiter = "- ";
var numMonth = this.getMonth()+1;
var numDate = this.getDate();
var strY4M2D2 = this.getFullYear() + strDelimiter;
strY4M2D2 += (numMonth <10 ? ( "0 "+numMonth) : numMonth) + strDelimiter;
strY4M2D2 += numDate <10 ? ( "0 "+numDate) : numDate;
return strY4M2D2;
};

var arrYmd = "2007-4-5 ".split( "- ");
var datGiven = new Date(arrYmd[0], arrYmd[1], arrYmd[2]);
var datNew = datGiven.add(-2);
alert(datNew.getY4M2D2());
//-->
</script>