js 获取3天前的时间

本文介绍了一种使用原生JavaScript获取三天前日期的方法,并展示了如何格式化日期。通过简单的代码实现,帮助开发者快速掌握日期处理技巧。

这是用原生的js来获取3天前时间的方法:

var threeDaysAgo = new Date();
threeDaysAgo.setDate(threeDaysAgo.getDate()-3);
var formatDay = threeDaysAgo.getFullYear()+"-"+(threeDaysAgo.getMonth()+1)+'-'+threeDaysAgo.getDate();

所要的时间格式,可以如此设置。

因为getMonth()的范围是0-11 ,所以最后要加1



### 实现获取时间 为了在 Vue3 项目中计算并获取时间戳或日期字符串,可以采用 JavaScript 的 `Date` 对象来进行日期运算。下面是一个具体的实现方式: #### 使用纯 JavaScript 获取日期 通过创建一个新的 `Date` 对象表示当时间,再使用 `setDate()` 和 `getDate()` 方法调整日期以达到减去七的效果。 ```javascript function getPreviousWeekDate() { const today = new Date(); const previousWeek = new Date(today); previousWeek.setDate(today.getDate() - 7); // 将结果格式化为 YYYY-MM-DD 字符串形式返回 function formatDate(date) { let month = &#39;&#39; + (date.getMonth() + 1), day = &#39;&#39; + date.getDate(), year = date.getFullYear(); if (month.length < 2) month = &#39;0&#39; + month; if (day.length < 2) day = &#39;0&#39; + day; return [year, month, day].join(&#39;-&#39;); } return formatDate(previousWeek); } ``` 此函数会根据今日期自动算出一周之日期,并将其格式化为标准的 ISO8601 格式的字符串[^1]。 #### 结合 Vue3 组件使用 如果是在 Vue3 单文件组件内,则可以直接定义该逻辑作为 computed 属性的一部分以便于模板绑定显示。 ```html <template> <div>{{ formattedPreviousWeek }}</div> </template> <script setup> import { ref, computed } from &#39;vue&#39;; const now = new Date(); const sevenDaysAgo = computed(() => { const prevWeek = new Date(now); prevWeek.setDate(now.getDate() - 7); // 返回 Unix 时间戳 或者 格式化的日期字符串 return prevWeek.getTime(); // 如果想要时间戳就用这个 //return `${prevWeek.getFullYear()}-${String(prevWeek.getMonth()+1).padStart(2,&#39;0&#39;)}-${String(prevWeek.getDate()).padStart(2,&#39;0&#39;)}`; // 如果要格式化后的日期则取消注释这一行 }); </script> ``` 这里展示了两种不同的输出选项:一种是以毫秒级精度的时间戳形式;另一种则是经过美化处理过的可读性强的人类友好型日期表达。 #### 利用第三方库简化操作 对于更加复杂的场景或是追求更高的开发效率时,推荐考虑引入像 Day.js 这样的轻量级日期处理工具来辅助完成任务。Day.js 提供了一个简单易懂的方法链语法糖使得开发者能够轻松地进行各种各样的日期变换工作而无需担心跨浏览器兼容性等问题。 ```javascript // 安装命令 npm install dayjs --save import dayjs from &#39;dayjs&#39;; let lastWeek = dayjs().subtract(7, &#39;days&#39;).format(&#39;YYYY-MM-DD&#39;); // 输出形如 "2024-11-13" console.log(lastWeek); ``` 这种方法不仅简洁明了而且易于维护更新,在实际项目中有很高的实用性价值[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值