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")

相关推荐
广州灵眸科技有限公司2 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
万少3 小时前
我把 Kimi 接进微信,几分钟做了个随手出图助手
前端
xiaofeichaichai3 小时前
网络请求与实时通道
前端·网络
kTR2hD1qb4 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
kyriewen5 小时前
浏览器缓存最强攻略:强缓存、协商缓存、CDN、更新策略,一篇搞定
前端·面试·浏览器
持敬chijing5 小时前
Web渗透之SQL注入-联合查询注入-注入点数据类型判断
前端·sql·安全·web安全·网络安全·安全威胁分析
卷帘依旧6 小时前
Web3前端一面
前端
古韵6 小时前
告别手写分页逻辑:usePagination 从 50 行到 3 行
java·前端
小村儿6 小时前
连载12- Cluade code 的MCP 到底还用不用
前端·后端·ai编程