Javascript 如何从X获得接下来的七天,并在JS中格式化

Javascript 如何从X获得接下来的七天,并在JS中格式化,javascript,date,calendar,Javascript,Date,Calendar,我想打印这样的东西(7天日历),但可以从任何日期开始 Monday, 1 January 2011 Tuesday, 2 January 2011 Wednesday, 3 January 2011 Thursday, 4 January 2011 Friday, 5 January 2011 Saturday, 6 January 2011 Sunday, 7 January 2011 例如,我想展示从2月22日起接下来的七天。我不知道该怎么办 var feb22 = new Date(20

我想打印这样的东西(7天日历),但可以从任何日期开始

Monday, 1 January 2011
Tuesday, 2 January 2011
Wednesday, 3 January 2011
Thursday, 4 January 2011
Friday, 5 January 2011
Saturday, 6 January 2011
Sunday, 7 January 2011
例如,我想展示从2月22日起接下来的七天。我不知道该怎么办

var feb22 = new Date(2012, 1, 22);
var feb23 = new Date(feb22.getTime() + 1000*60*60*24);

…依此类推

您可以将变量dateString设置为您想要的任何值,在循环中您只需增加一天。 然后你会得到日期,但我认为是另一种形式

var dateString = '22 Feb 2012';
var actualDate = new Date(dateString);
var newDate;

for(var i=1; i<=7; i++){
 newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+i);
}
var-dateString='2012年2月22日';
var actualDate=新日期(日期字符串);
var newDate;
对于(var i=1;i初始日期:

var startingDay = new Date(year, month, day);
开始的一整周

var thisDay = new Date();
for(var i=0; i<7; i++) {
  thisDay.setDate(startingDay.getDate() + i);
  console.log(thisDay.format());
}

这似乎就是你想要的:

function GetDates(startDate, daysToAdd) {
    var aryDates = [];

    for (var i = 0; i <= daysToAdd; i++) {
        var currentDate = new Date();
        currentDate.setDate(startDate.getDate() + i);
        aryDates.push(DayAsString(currentDate.getDay()) + ", " + currentDate.getDate() + " " + MonthAsString(currentDate.getMonth()) + " " + currentDate.getFullYear());
    }

    return aryDates;
}

function MonthAsString(monthIndex) {
    var d = new Date();
    var month = new Array();
    month[0] = "January";
    month[1] = "February";
    month[2] = "March";
    month[3] = "April";
    month[4] = "May";
    month[5] = "June";
    month[6] = "July";
    month[7] = "August";
    month[8] = "September";
    month[9] = "October";
    month[10] = "November";
    month[11] = "December";

    return month[monthIndex];
}

function DayAsString(dayIndex) {
    var weekdays = new Array(7);
    weekdays[0] = "Sunday";
    weekdays[1] = "Monday";
    weekdays[2] = "Tuesday";
    weekdays[3] = "Wednesday";
    weekdays[4] = "Thursday";
    weekdays[5] = "Friday";
    weekdays[6] = "Saturday";

    return weekdays[dayIndex];
}

var startDate = new Date();
var aryDates = GetDates(startDate, 7);
console.log(aryDates);​
​

这是。

这是我使用

未来7天
let days=[];
let Days Required=7

如果您需要从今天开始的接下来7个工作日,请使用(设i=1;i)

const isWeekday=(日期)=>{
返回日期。工作日()!==0和日期。工作日()!==6
}
常量工作日=[];
假设所需天数=7
设addDaysBy=1
moment.locale('en'))
while(工作日长度<所需天数)
{
常数d=力矩().add(addDaysBy,'days')
如果(是工作日(d))
{
推送(d.format('dddddd,Do-MMMM-YYYY'))
}
addDaysBy++;
}
console.log(工作日)

-1,这里没有可重复使用的东西。如果他想更改日期?或者重复使用函数?也不会按要求格式化日期(或者根本不会)。@JamesHill我不会为一个不努力的人做任何事情,但从你的回答来看,你似乎喜欢做别人的工作:)如果OP想要改变日期,我的例子表明,从一个日期到另一个日期是很容易的,让OP自己做一些学习。反对票支持错误的答案,我的答案没有错。我理解并欣赏你所说的某人没有表现出努力。我之所以选择回答这个问题,是因为我认为这很有趣。至于你的答案没有错,我恭敬地表示不同意,因此投了反对票。既然不回答问题的答案什么时候可以接受,那么?@JamesHill我想你是在喂他们,而不是教他们如何钓鱼……他的问题有一半涉及从开始日期到第二天,第二天第二天…另一半正在打印,我让他第二天开始打印,不需要因为你花时间写了一篇完整的文章就否决其他答案。我不想卷入评论大战,所以这是我最后一句话。正如我在最初的评论中提到的,这是一种糟糕的进入第二天的方式。代码是不可重用的n无论如何。为什么不把它放在一个函数中呢?当OP想要将日历切换到下个月时,他必须重命名所有七个变量!如果他想显示两周的日期怎么办?一个可以传递参数的函数是唯一正确的处理方法。通常他应该阅读JS date对象的任何文档,比如t他:或者你是说我们实际上应该给他尽可能多的代码,所以给他提供他想要的完整日历!?你不能发布一个错误的答案,然后说这个人应该阅读文档来推断正确的答案(特别是当你甚至没有在答案中发布文档链接时).但我在回答中表示,他可能会得到一种不同的格式。我认为,如果他不能在网上搜索如何设置简单日期的格式,他应该从一开始就开始学习JS。但在stackoverflow不是这样……事实上,我经常使用JavaScript格式,并且可以使用手册。我不能做的是混合三件事当前位置1.记住月份有不同的天数。2.从我想要的任何一天开始3.将日期名称与日期联系起来我只是有点懒,但我刚刚添加了日期。非常感谢!从工作示例中学习要比从纯理论中学习容易得多。非常感谢。
function GetDates(startDate, daysToAdd) {
    var aryDates = [];

    for (var i = 0; i <= daysToAdd; i++) {
        var currentDate = new Date();
        currentDate.setDate(startDate.getDate() + i);
        aryDates.push(DayAsString(currentDate.getDay()) + ", " + currentDate.getDate() + " " + MonthAsString(currentDate.getMonth()) + " " + currentDate.getFullYear());
    }

    return aryDates;
}

function MonthAsString(monthIndex) {
    var d = new Date();
    var month = new Array();
    month[0] = "January";
    month[1] = "February";
    month[2] = "March";
    month[3] = "April";
    month[4] = "May";
    month[5] = "June";
    month[6] = "July";
    month[7] = "August";
    month[8] = "September";
    month[9] = "October";
    month[10] = "November";
    month[11] = "December";

    return month[monthIndex];
}

function DayAsString(dayIndex) {
    var weekdays = new Array(7);
    weekdays[0] = "Sunday";
    weekdays[1] = "Monday";
    weekdays[2] = "Tuesday";
    weekdays[3] = "Wednesday";
    weekdays[4] = "Thursday";
    weekdays[5] = "Friday";
    weekdays[6] = "Saturday";

    return weekdays[dayIndex];
}

var startDate = new Date();
var aryDates = GetDates(startDate, 7);
console.log(aryDates);​
​
["Thursday, 5 April 2012",
 "Friday, 6 April 2012", 
 "Saturday, 7 April 2012", 
 "Sunday, 8 April 2012", 
 "Monday, 9 April 2012", 
 "Tuesday, 10 April 2012", 
 "Wednesday, 11 April 2012", 
 "Thursday, 12 April 2012"]