由于未知原因,getDate
总是返回1
而不是28
。我正在使用NodeJS 10.6.0和Typescript 3.2.2。
const lastDay = new Date();
lastDay.setDate(0);
lastDay.setHours(24, 59, 59, 999);
console.log(lastDay, "|", lastDay.getDate()); // 2019-02-28T23:59:59.999Z | 1
编辑:我正在尝试在最后一个毫秒获取上个月的最后一天。那么
setDate(0)
是正确的。我不明白的是,为什么当我打印时间时,我得到28T23:59:59.999Z
而getDate()
返回第二天。Edit2:有效地使用
getUTCDate
修复了我的问题,由于它的实现方式很奇怪,它对我仍然很奇怪。 IMO的每种方法都应更明确地命名,以避免此类问题。 最佳答案
实际上是正确的:
Date.prototype.getDate()
根据当地时间返回指定日期的月份(1-31)。
您可以这样测试:
const lastDay: Date = new Date();
lastDay.setDate(3);
lastDay.setHours(24, 59, 59, 999);
console.log(lastDay, "|", lastDay.getDate()); // 2019-03-03T23:59:59.999Z | 4
关于javascript - Date.getDate总是返回1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55441584/