Javascript MomentJS-如何从日期获取上个月的最后一天?
我试图使用以下方法获取上个月的最后一天:Javascript MomentJS-如何从日期获取上个月的最后一天?,javascript,date,momentjs,Javascript,Date,Momentjs,我试图使用以下方法获取上个月的最后一天: var dateFrom = moment(dateFrom).subtract(1, 'months').format('YYYY-MM-DD'); 其中: dateFrom = 2014-11-30 但使用后 subtract(1, 'months') 它返回日期 DATE_FROM: "2014-10-30" 但10月的最后一天是31号 我怎样才能解决我的问题 非常感谢您的帮助。只需在您的通话中添加一个endOf('month'): v
var dateFrom = moment(dateFrom).subtract(1, 'months').format('YYYY-MM-DD');
其中:
dateFrom = 2014-11-30
但使用后
subtract(1, 'months')
它返回日期
DATE_FROM: "2014-10-30"
但10月的最后一天是31号
我怎样才能解决我的问题
非常感谢您的帮助。只需在您的通话中添加一个endOf('month')
:
var dateFrom=moment(dateFrom).subtract(1,'months').endOf('month').format('YYYY-MM-DD')代码>
更简单的解决方案是使用moment.date(0)
。.date()
函数取当前月份的1到n天,但是,传递零或负数将产生上个月的日期
const monthyear = moment().format('YYYY-MM')
const firstDay = moment(monthyear + "-01").format("YYYY-MM-DD");
// Subtract 1 day to get the end of the previous month
const dateTo = moment(firstDay).subtract('1', 'days').format("YYYY-MM-DD");
例如,如果当前日期为2月3日:
var_date=moment();//2018-02-03(当日)
var_date2=moment().date(0)//2018-01-31(本月初减去1天)
var_date3=moment().日期(4)//2018-02-04(当月第4天)
var_date4=moment().date(-4)//2018-01-27(本月初减去5天)
console.log(_date.format(“YYYY-MM-DD”);
console.log(_date2.format(“YYYY-MM-DD”);
console.log(_date3.format(“YYYY-MM-DD”);
console.log(_date4.format(“YYYY-MM-DD”)代码>
上个月的第一个日期和从当前日期算起的上个月的最后一个日期。日期的格式随时间而变化。(DD-MM-YYYY)
你可以得到一个月的第一天,然后减去一天得到上个月的最后一天
const monthyear = moment().format('YYYY-MM')
const firstDay = moment(monthyear + "-01").format("YYYY-MM-DD");
// Subtract 1 day to get the end of the previous month
const dateTo = moment(firstDay).subtract('1', 'days').format("YYYY-MM-DD");
有关更多信息,请查看文档中的。另一种方法是var dateFrom=moment(dateFrom).startOf('month')。减去(1,'days');-)你可能想这样做:moment(dateFrom).subtract(1,'month').daysInMonth('D')
不知道这个答案会给提前5年回答的答案增加什么。更不用说,OP希望从特定日期开始计数,而不是从当前日期开始计数,并希望输出为YYYY-MM-DD格式。