我对粒子js有两种配置(json)。其中之一是冬季,因此应在12月21日至3月21日启用。我尝试了很多事情,但仍然无法正常工作(不是因为仍然是11月:))我尝试的最后一件事是
var today = new Date();
var tDate = today.getDate();
var tMonth = today.getMonth();
var startingDate = new Date();
var sDate = startingDate.setDate(1);
var sMonth = startingDate.setMonth(10);
var endingDate = new Date();
var eDate = endingDate.setDate(21);
var eMonth = endingDate.setMonth(2);
if (tMonth >= sMonth && tMonth <= eMonth) {
if (tDate >= sDate && tDate <= eDate) {
particlesJS.load('particles', '../../Content/Scripts/particles/particles-config-winter.json');
}
}
else {
particlesJS.load('particles', '../../Content/Scripts/particles/particles-config.json');
}
这没有意义,因为开始日期和结束日期均为21。我尝试将其作为字符串进行比较,但没有解决。我不知道如何比较javascript中的两个日期。有什么帮助吗?
您可以使用以下功能:
function isWinter(dt) {
const m = dt.getMonth();
return m == 11 ? dt.getDate() >= 21 : m == 2 ? dt.getDate() < 21 : m < 2;
}
像这样将其命名为今天的日期:
if (isWinter(new Date())) { /*....*/ }
尝试中的问题之一是setMonth
andsetDate
方法将修改后的日期返回为毫秒数(不只是一个月或一天的一部分),并改变了调用该方法的日期。
三元表达式使用以下逻辑:
dt.getDate() >= 21
计算结果(正确或错误)。m < 2
。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句