2010-08-12 84 views

回答

7

使用Date對象,這一天設置爲0,getDate將返回的最後一天,這也是天算一個月;你還要給你想要檢查的年份,因爲你知道二月可以有29天。

function getDayCount(year:int, month:int):int{ 
var d:Date=new Date(year, month, 0); 
return d.getDate(); 
} 

trace(getDayCount(2012,2)); 
+0

getDayCount():-) – danjarvis 2010-08-12 19:35:56

+0

@clownbaby yes right thanks :) – Patrick 2010-08-12 19:40:45

+3

將day設置爲0會返回上個月最後一天的日期對象,而不是當前月份。 – 2012-05-10 15:16:47

0

上面的例子在1月份不起作用! new Date(2011,0,0)returns 12/31/2010
new Date(2011,1,0)returns 01/31/2011
new Date(2011,1,1)returns 02/01/2011

+0

你不應該把日子傳遞給它。然後它工作。 – 2012-02-21 14:39:04

0

通過指定年份,期望月份+ 1和日期0來創建新的日期對象。這將爲所需月份的最後一天創建一個日期對象。然後調用對象的getDate()以返回最後一天。

請注意,基於Flex的月份爲零,所以Jan = 0,Feb = 1等等。因此,如果你想知道的最後一天,2月份是2012年,你會做到以下幾點:

var FEB:int = 1; 
var date:Date = new Date(2012, FEB + 1, 0); 
var lastDayInFeb:Number = date.getDate(); 

這裏是一個more complete example與一對夫婦的非單元測試和返回的最後一個可重複使用的靜態方法一個月的一天。

相關問題