上一篇
最新动态:随着前端技术的快速发展,Vue 3.4 在2025年进一步优化了响应式数据处理,日期操作变得更高效!🎉 无论是报表统计、日程管理还是数据过滤,掌握日期处理都是开发者必备技能。
在日常开发中,我们经常遇到这些场景:
今天我们就用Vue实现获取当前日期和前一天日期的两种实用方案!
// 在Vue的methods或setup中 getCurrentDate() { const today = new Date(); const year = today.getFullYear(); const month = String(today.getMonth() + 1).padStart(2, '0'); // 补零 const day = String(today.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; // 2025-08-20 }
getPreviousDate() { const yesterday = new Date(); yesterday.setDate(yesterday.getDate() - 1); // 神奇的时间魔法✨ const year = yesterday.getFullYear(); const month = String(yesterday.getMonth() + 1).padStart(2, '0'); const day = String(yesterday.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; }
💡 小技巧:
padStart(2,'0')
确保月份和日期始终是两位数 Day.js是轻量级的日期库(仅2KB),比原生API更易用:
先安装:
npm install dayjs
在Vue中使用:
import dayjs from 'dayjs';
// 获取当前日期 const today = dayjs().format('YYYY-MM-DD');
// 获取前一天 const yesterday = dayjs().subtract(1, 'day').format('YYYY-MM-DD');
**🌟 优势**:
- 链式调用超简洁
- 支持时区、本地化等高级功能
- 避免原生Date的月份从0开始的坑
---
## 四、完整Vue组件示例
```html
<template>
<div>
<p>今天是:{{ currentDate }}</p>
<p>昨天是:{{ previousDate }}</p>
</div>
</template>
<script>
import dayjs from 'dayjs';
export default {
data() {
return {
currentDate: '',
previousDate: ''
};
},
mounted() {
this.currentDate = dayjs().format('YYYY-MM-DD');
this.previousDate = dayjs().subtract(1, 'day').format('YYYY-MM-DD');
// 或者使用原生JS版本
// this.currentDate = this.getCurrentDate();
// this.previousDate = this.getPreviousDate();
},
methods: {
getCurrentDate() { /*...*/ },
getPreviousDate() { /*...*/ }
}
};
</script>
Q:为什么月份要+1?
A:JavaScript的getMonth()
返回0-11(0=一月),这是历史遗留问题🤷♂️
Q:如何获取更复杂的格式?
A:Day.js支持多种格式:
dayjs().format('YYYY年MM月DD日 HH:mm:ss') // 2025年08月20日 14:30:00
方法 | 代码复杂度 | 功能扩展性 | 推荐场景 |
---|---|---|---|
原生JS | 简单项目/快速原型 | ||
Day.js | 企业级应用 |
最后建议:小型项目可用原生API,复杂日期操作优先选择Day.js或date-fns,现在就去你的Vue项目中试试吧! 🚀
(本文方法测试于2025年8月,主流浏览器及Vue 3.4环境均适用)
本文由 普觅珍 于2025-08-01发表在【云服务器提供商】,文中图片由(普觅珍)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/503889.html
发表评论