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

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

相关推荐
郭老二3 小时前
【前端】vue3:编译步骤
前端
不在逃避q3 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁4 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9854 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易4 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师5 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174465 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈5 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen6 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒6 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端