首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当月日为31时,javascript减去一个月返回当月的第一天

当月日为31时,javascript减去一个月返回当月的第一天
EN

Stack Overflow用户
提问于 2018-05-31 18:04:07
回答 1查看 48关注 0票数 0

通常从当前日期开始减去一个月,如下所示:

代码语言:javascript
运行
复制
//assuming today is 2018-05-30T09:50:05.345Z

var d = new Date;
console.log(d);
// return : 2018-05-30T09:50:05.345Z

d.setUTCMonth( d.getUTCMonth() -1 );
console.log(d);
//return : 2018-04-30T09:50:05.345Z

但是假设今天是这个月的31号,这不再起作用...例如:

代码语言:javascript
运行
复制
//assuming today is 2018-05-31T09:54:23.850Z

var d = new Date;
console.log(d);
// return : 2018-05-31T09:54:23.850Z

d.setUTCMonth( d.getUTCMonth() -1 );
console.log(d);
//return : 2018-05-01TT09:54:23.850Z

不是将日期设置为前一个月,而是将日期设置为每月的第一天(与d.setMonth(d.getMonth - 1)相同

我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 18:46:05

当你放入像dateObj.setUTCMonth(4);这样的静态值时,它会显示相同的值,即2018-05-01,但如果我们放入var dateObj = new Date(); dateObj.setUTCMonth(dateObj.getUTCMonth()-1,30); console.log(dateObj);,那么works.This就是JS问题。如果要使用相同的代码,则需要检查月份中的天数,然后执行条件基础代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50621688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档