工作中会用到日期组件,有时候选择结束日期只需要用户选择年月,然后需要程序自动补全当月的最后一天,生成yyyy-MM-dd的字符串格式传到后端。
// 纯JS实现
let getEndDateFn = (value) => { // 形参value值的格式为yyyy-MM-dd或yyyy-MM
? ? ? let date = new Date(value);
? ? ? let month = date.getMonth() + 1;
? ? ? month = month < 10 ? "0" + month : month;
? ? ? let dayEnd = new Date(date.getFullYear(), month, 0).getDate();
? ? ? let dateValue?= ?date.getFullYear() + "-" + month + "-" + dayEnd;
? ? ? return dateValue?;
? ? }// 使用
let endDate =?getEndDateFn("2024-01");
console.log(endDate);
还有一种我比较喜欢的方式,引入moment.js插件?
// 第一步是安装moment
npm?i?moment-timezone
// 在页面引用moment
import moment from "moment-timezone";
// 要把moment写在data的return里
data()?{
????return?{
????????moment,
? ? }
}
/*?在方法里使用 */
// 获取当月第一天:
moment(currDate).startOf(“month”).format(“YYYY-MM-DD”)
// 获取当月最后一天:
moment(currDate).endOf(“month”).format(“YYYY-MM-DD”)