【发布时间】:2021-02-11 16:22:41
【问题描述】:
我最初是通过类似的东西来完成这项工作的
var x = endDay - startDay;
for(//iterate for x)
{
if(startMonth = endMonth){
//Push items to array
}
}
然后我意识到,如果我从 2021 年 12 月 28 日 -> 2022 年 1 月 4 日中选择一个日期,那是行不通的。
所以我会展示我的代码,但通常这更多是逻辑问题,而不是实际代码不起作用..
createSpecial(startDate, endDate){
var startValue = startDate.split("/");
var startDay = startValue[0];
var startMonth = startValue[1];
var startYear = startValue[2];
var endValue = endDate.split("/");
var endDay = endValue[0];
var endMonth = endValue[1];
var endYear = endValue[2];
var diff = parseInt(endDay) - parseInt(startDay);
let difference: Range[] = [];
var startdate: string = startDay.toString();
for (let i = 0; i <= diff; i++) {
var x = parseInt(startdate);
x++;
var s = startdate.toString();
s = s.padStart(2, '0');
startdate = x.toString();
difference.push({
day: s,
month: startMonth,
});
}
export class range{
day: string;
month: string;
}
现在我非常不清楚如何解决这个问题,如何从 startDate 和 endDate 获取一个值以用于迭代并创建其间的范围以供以后使用。
我基本上只需要知道开始和结束之间有多少天,我会弄清楚如何迭代到下个月的后记
编辑:评论指出了另一个问题,它为我回答了这个问题: https://stackoverflow.com/questions/4413590/javascript-get-array-of-dates-between-2-dates#:~:text=Try%20this%2C-,remember,-to%20include%20moment
【问题讨论】:
-
哦,我没有设法偶然发现,我相信可能是这样,快速工作抛出了一个答案,如果这最终成为一个多余的问题,则可能关闭
-
我推荐你npmjs.com/package/dayjs 一个 2kb 的库,用于 javascript/typescript 来操作日期。
-
@Guiditox 这在几周前会很棒,我会努力把它扔掉,看看我是否可以用它来重构我的代码库,谢谢
-
@KaustubhKhare 这确实解决了我的问题,谢谢分享
标签: angular typescript