Vue如何根据某个时间值获取当月的最后一天

2024-01-09 11:50:13

工作中会用到日期组件,有时候选择结束日期只需要用户选择年月,然后需要程序自动补全当月的最后一天,生成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”)

文章来源:https://blog.csdn.net/Calvin_qiang/article/details/135474116
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。