繁体   English   中英

如何从给定日期获取前一周的特定日期?

[英]How to get previous week particular day from given date?

从后端,我以“18/11 星期三”、“19/11 星期四”等格式获取数组的日期,然后将其存储在前端的数组中。

const sevenDays = [];

getData() {

  sevenDays.push(this.sales[x].values[i].date);

}

现在我需要从这个数组中的所有元素中获取上周的特定日期。 举个例子,

sevenDays[0] = "18/11 Wednesday"

Output 应该是

newsevenDays[0] = "11/11 Wednesday"

请各位大侠帮忙,我试过很多次了。

要获取日期前 7 天的日期,您可以使用 moment.js package(下面的文档)的减法方法,但您需要在之前以正确的格式获取日期并将其作为 moment() 的参数插入

moment(new Date()).subtract(7, 'days').format('DD/MM/YYYY')
---> will return you the date of 7 days ago, with format DD/MM/YYYY

文档: https://momentjscom.readthedocs.io/en/latest/moment/03-manipulating/02-subtract/

您可以使用本机 javascript function Date()而无需使用moment.js

var arbitraryDate = new Date();
arbitraryDate.setDate(arbitraryDate.getDate()-5)

MM/DD/YYYY格式查看 output。

arbitraryDate.toLocaleDateString()

尝试运行下面的代码

 var arbitraryDate = new Date(); arbitraryDate.setDate(arbitraryDate.getDate()-5) foo = arbitraryDate.toLocaleDateString() document.getElementById('arbitrary').innerHTML = foo
 <h4 id="arbitrary"></h4>

我找到了答案,如果有人遇到这种问题,我希望这会有所帮助。 moment.js 将任何自定义格式的日期转换为标准格式。 因此,首先我在 moment() function 中将我的自定义格式作为第二个参数“DD/MM dddd”。 然后你也可以给出你的最终格式。

 finalDate = moment('18/11 Wednesday', 'DD/MM dddd').subtract(7,'days').format('DD/MM dddd');

output:

finalDate = 11/11 Wednesday

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM