我正在尋找一種方法來做兩個javascript日期對象之間的適當減法並獲得日增量。javascript日期減法
這是我的做法,但它對於今天的日期無法作爲輸入:
<script type="text/javascript">
function getDayDelta(incomingYear,incomingMonth,incomingDay){
var incomingDate = new Date(incomingYear,incomingMonth,incomingDay);
var today = new Date();
var delta = incomingDate - today;
var resultDate = new Date(delta);
return resultDate.getDate();
}
//works for the future dates:
alert(getDayDelta(2009,9,10));
alert(getDayDelta(2009,8,19));
//fails for the today as input, as expected 0 delta,instead gives 31:
alert(getDayDelta(2009,8,18));
</script>
什麼將是這更好的方法呢?
感謝您的修復,但這似乎失敗: getDayDelta(2009,8,19); //返回1,但返回0(在我的本地時間是18) – Hellnar 2009-08-18 18:05:12
是的,那是因爲'today'包含時間,請參閱我的編輯... – CMS 2009-08-18 18:50:01
@Crib:問題在於'incomingDate'的時間部分是0小時,0分鐘,0秒和0毫秒。你必須對「今天」做同樣的事情,否則你將會在一天之前/之後得到部分日子。我編輯了答案以反映這一變化。 – 2009-08-18 18:51:02