Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript在计划中显示下一个每周定期日期?_Javascript_Date_Calendar_Schedule_Recurring - Fatal编程技术网

如何使用JavaScript在计划中显示下一个每周定期日期?

如何使用JavaScript在计划中显示下一个每周定期日期?,javascript,date,calendar,schedule,recurring,Javascript,Date,Calendar,Schedule,Recurring,我需要使用JavaScript在网站上每周定期显示下一个事件。假设我们每周六上午10点开始一个活动,我需要它显示下一个活动在“周六(月))(日期)上午10点开始” 我唯一需要在网站上保持动态的是下一个活动的日期(包括月份和日期) 想法1:我开始思考的一种方法是,我需要从日程开始的地方开始计算一个起始参考日历日期,然后以n天为模式计算从该起始点开始的未来日期,并将其与今天的日期进行比较,然后显示序列中下一个的结果 想法2:与其使用N天模式从硬编码的参考点进行计算,不如将事件发生的一周中的哪一天进行

我需要使用JavaScript在网站上每周定期显示下一个事件。假设我们每周六上午10点开始一个活动,我需要它显示下一个活动在“周六(
月)
)(
日期
)上午10点开始”

我唯一需要在网站上保持动态的是下一个活动的日期(包括
月份
日期

想法1:我开始思考的一种方法是,我需要从日程开始的地方开始计算一个起始参考日历日期,然后以n天为模式计算从该起始点开始的未来日期,并将其与今天的日期进行比较,然后显示序列中下一个的结果

想法2:与其使用N天模式从硬编码的参考点进行计算,不如将事件发生的一周中的哪一天进行编码并对照该日期进行检查,通过比较一周中的几天并将其添加到今天的日期来计算日期(必须说明28/30/31天的展期,以及说明哪些月份的展期数最多)


也许我的想法有点离谱,但这里的任何帮助都将不胜感激。我正在学习JavaScript,并且来自HTML+CSS背景,使用jQuery插件,如果这有助于以我能理解的方式构建您的答案的话。

这是一个可能可行的粗略解决方案。这只是您需要调试的一般代码,但我认为这是一个好的开始point!Date()是一个内置JavaScript对象

var today = new Date();
//var dd = today.getDate();    *just some sample functions of Date()*
//var mm = today.getMonth()+1; *January is 0!*

if(today.getDay() == 6) alert('it is saturday');
// today.getDate() < 8   *this can be used to check where in the month a day falls
// if you want only first, second, third, etc., Saturday
var today=新日期();
//var dd=today.getDate();*只是Date()的一些示例函数*
//var mm=today.getMonth()+1;*一月是0*
如果(today.getDay()==6)发出警报(“今天是星期六”);
//today.getDate()<8*这可以用来检查一天在一个月的哪个位置
//如果你只想要第一、第二、第三等等,星期六
请让我知道这是否有帮助!

您可以使用它(我维护的javascript重复库)

例如:

假设我们每周六上午10点开始一项活动

从'@rschedule/rschedule'导入{Schedule};
从'@rschedule/StandardDateAdapter'导入{StandardDateAdapter};
施工进度表=新进度表({
罗尔斯:[{
频率:'每周',
//重复事件的假设开始日期时间
开始日期:新日期(2019年5月15日10日),
}],
dateAdapter:StandardDateAdapter,
});
我唯一需要在网站上保持动态的是下一个活动的日期(包括月份和日期)

//为从现在开始的事件获取标准javascript迭代器
常量迭代器=schedule.executions({
开始:新日期()
})
//下一个日期
const nextDate=iterator.next().value;
//或者迭代所有未来的事件
for(迭代器的常量日期){
//做些事情。。。
}

谢谢,这是一些很好的信息,至少现在我有一些东西要查!这似乎是想法2中的路线,我会看看我能找到关于日期的信息()用户查看您网站的日期离当前日期有多远,您需要标记事件吗?例如,如果用户在2月1日访问,那么“示例日期”是什么您的目标是否需要您获取?这些事件将每周发生,因此我需要它显示下一个即将发生的单个事件。如果发生在周六上午10点,我希望它显示日历上下周六的日期和月份。当日期变为该日期时,我需要它显示下一个周六,直到e到达该日期为止例如…