我需要在javascript中创建一个将参数作为
DateRange(可能的值为“今天” /“本周” /“本月”
BooleanFullDate(可能的值为true / false)
现在,当参数值为Today
时,它应该返回我
10/23/2013
10/23/2013
当
This Week
和BooleanFullDate为true
时,它应该返回我10/20/2013
10/26/2013
当
This Week
和BooleanFullDate为false
时,它应该返回我10/20/2013
10/23/2013
当
This Month
和BooleanFullDate为true
时,它应该返回我10/01/2013
10/31/2013
当
This Month
和BooleanFullDate为false
时,它应该返回我10/01/2013
10/23/2013
为此,我在这里编写了我的代码-JS Fiddle LINK
问题:-
现在,对于javascript来说还很陌生,我无法弄清楚几件事(您也可以在jsbin中看到)
当我呼叫
GetStartAndEnd("Today");
时,为什么会返回end: "9/23/2013",
而不是end: "10/23/2013",
(当月)?最后,请有人可以建议我对代码进行改进吗?
最佳答案
当我打电话给GetStartAndEnd(“ Today”);为什么返回我结尾:
“ 9/23/2013”,而不是结尾:“ 10/23/2013”,(当前月)?
好,
getMonth()方法返回该月份的月份(从0到11)。
指定的日期,根据当地时间。
因此,您必须将+1添加到getMonth()
手段:
var lmonth = lastDay.getMonth() + 1;