如何根据用户输入检索和设置每月的最后一天?

时间:2019-04-22 21:44:01

标签: javascript

如何在javascript中检索用户输入的当月的最后一天?

我有一个带有2个日期选择器的表格。当前,表单日期设置为MM / YYYY(这是我在表单中需要的方式)。但是,对于日期验证,我需要日期采用MM / DD / YYYY格式。第一个日期将被设置为MM / 01 / YYYY,第二个日期将被设置为MM / lastDayOfMonth / YYYY。 以下是我到目前为止所做的事情。它返回该月的最后一天,但带有时间戳和日期。

var monthYear2 = $("#date2").val();
  var month = monthYear2.slice(0,2);
  var year = monthYear2.slice(3,7);
  var lastDay = new Date(year, month + 1, 0);
  var date2 = monthYear2.slice(0, 3) + lastDay + "/" + monthYear2.slice(3, 7)

我需要将date2的最终变量的格式设置为MM / lastDayOfMonth / YYYY

1 个答案:

答案 0 :(得分:1)

我不明白为什么要使用Date创建一个month + 1对象。如果它是用户发送当月的月份,则只需使用month

const userInput = '02/2019',
  splitted = userInput.split('/'),
  month = splitted[0],
  year = splitted[1],
  
  firstDayDate = `${month}/01/${year}`,
  lastDayDate = `${month}/${new Date(year, month, 0).getDate()}/${year}`;
  
console.log(firstDayDate, lastDayDate);