作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
日期对象的 getMonth()
方法似乎有错误。假设日期 d
是2013-01-31
,我尝试将月份设置为 d
像这样:
const d = new Date(); // 2013-01-31
d.setMonth(8);
console.log(d.getMonth());
结果是9
.为什么?我在 Chrome 和 Firefox 中都对此进行了测试。
我发现当它是一个月的 31 号、30 号或 29 号时,将日期设置为天数较少的月份会导致 getMonth
返回错误的值。
最佳答案
让我们分解一下:
var d = new Date(); // date is now 2013-01-31
d.setMonth(1); // date is now 2013-02-31, which is 3 days past 2013-02-28
x = d.getMonth(); // what to do, what to do, 3 days past 2013-02-28 is in March
// so, expect x to be March, which is 2
只有当 d
的日期值大于传递给 setMonth()
的月份中的最大天数时,才会出现此问题。否则,它会按您预期的那样工作。
关于javascript - `date.setMonth`如果`date`是月末则导致月份设置过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680396/
我很难将我的数据按月分组。我什至以编程方式过滤我的数据以仅返回当月的最后一天并计算月值。我试图找到关于“dataGrouping”属性的一个很好的解释,但没有运气理解它也没有正确实现它。每个结果都以每
我有一个问题,从一天中获取月底的最快方法是什么。我有一个非常大的表,我希望我的代码能够快速运行。我当前的代码如下所示: library(lubridate) end_of_month % as.Dat
我是一名优秀的程序员,十分优秀!