问:JavaSscript如何计算指定月份的天数
答:这样这样....
1: function daysInMonth(iMonth, iYear)
2: {
3: return 32 - new Date(iYear, iMonth, 32).getDate();
4: }
至于为什么,你仔细考虑或许就会明白,但是他的想法的确比较巧妙,忍不住又想啰嗦一下。
new Date(iYear, iMonth, 32),在Javascript中,假如参数溢出,即超出月份的天数的时候,会自动转成下一月,比方说,new(2009,0,32),其中32超出了2009.1月份的31天,这时候得到的日期是2009.1.1(索引从0开始,1表示二月)。new (2009,1,32),2009.2月份只有28天,这时候得到的日期就是2009.3.4。
getDate()就是返回日期中的“日”。这个日期数就是溢出的部分了,用32-Date就得到了指定月份所能容纳的天数。
同时想起,那天看到的一个新闻“如何从30个苹果中数出25只最快”(大概是这个意思),这个新闻说的是幼儿园的小朋友,都在那里数1,2,3,4,5,6.....。拙荆包括记者们都觉得这个事情很有趣,其实他们那么小,对数还没有足够熟悉,能够让他们理解“补”的概念,今天这个问题也反映出了一样问题。
这种想法不止在javascript中有效,也不止在计算月份天数时候有效.....