1

我需要在 javascript 中创建一个方法,它将参数作为

  • DateRange(可能的值为“今天”/“本周”/“本月”
  • BooleanFullDate(可能值为真/假)

现在,当参数值是Today它应该返回我

10/23/2013 
10/23/2013 

This Week和 BooleanFullDate as true,那么它应该返回我

10/20/2013
10/26/2013

This Week和 BooleanFullDate as false,那么它应该返回我

10/20/2013
10/23/2013

This Month和 BooleanFullDate as true,那么它应该返回我

10/01/2013
10/31/2013

This Month和 BooleanFullDate as false,那么它应该返回我

10/01/2013
10/23/2013

为此,我在这里编写了代码-JS Fiddle LINK

问题:-

现在,对 javascript 非常陌生,我无法弄清楚一些事情(您也可以在 jsbin 中看到)

当我打电话时,GetStartAndEnd("Today");为什么它会返回我end: "9/23/2013",而不是end: "10/23/2013",(当前月份)?

最后,有人可以建议我改进代码吗?

4

2 回答 2

0

当我调用 GetStartAndEnd("Today"); 为什么它返回我结束:“9/23/2013”​​,而不是结束:“10/23/2013”​​,(当前月份)?

出色地,

getMonth() 方法根据本地时间返回指定日期的月份(从 0 到 11)。

所以你必须在你的getMonth()

方法:

var lmonth = lastDay.getMonth() + 1;
于 2013-10-23T06:06:49.670 回答
0

你用过 var month = dateobj.getMonth() 。在此函数中,一月总是从 0 开始。因此,您必须在 getMonth() 的返回值中添加 1,这将为您提供确切的当前月份。

于 2013-10-23T06:10:30.987 回答