我正在尝试显示文字" A Day"在一天,然后" B日"下一个。我可以使用偶数或奇数函数来配置getDay
对象,但无论日,月或年,我都会尝试这样做。
例如,今天可能是" A Day"明天是" B日"然后第二天是一个" A Day"等等等等。
我已经启动了一些代码,但并不完全理解概念。
<html>
<body>
<p id="demo"></p>
<script type="text/javascript">
myFunction();
function myFunction() {
var time = new Date().getDate();
if (time == 0) {
greeting = "A Day";
} else {
greeting = "B Day";
}
document.getElementById("demo").innerHTML = greeting;
}
</script>
</body>
</html>
答案 0 :(得分:0)
首先:getDate()方法返回当月的当天,例如,如果今天是25日,你的变量'time'将是25.所以if(时间== 0)是没有意义的因为永远不会有0天。
对于第二个问题,你想要在一天和一天的时间内取消,你可以尝试宣告一个当日期是偶数或奇数时递增的计数器:
SomeDaoImplClass.setDataSource(daraSource);
答案 1 :(得分:0)
我怀疑发生的事情是你总是得到B日,对吗?
在日期对象上调用getDate将返回当天的整数值。您正在检查该月的那一天是否为0.这不是从偏移0开始(该月的第一天是1)。因此,不应该有“一天”应该回来的情况。
我不建议使用当月的日子,因为我认为这不可靠。我能看到的最佳选择是进行模数除法(检查余数)并除以2.如果余数为0,则显示A,如果余数为1,则显示B.
然而,这成为一个问题,在31天结束的月份。 31/2的余数为1.本月的第一天,1/2,也有一个余额,创造两个“B天”。
我的第一个想法是看看你是否可以以某种方式存储你改变的局部变量,或使用差异参考变量。
答案 2 :(得分:0)
你可以这样做:
var aDayBDayArray = ['A Day', 'B Day']
function printDay(aDayBDayArray) {
console.log(aDayBdayArray[0]);
aDayBDayArray.reverse();
}
将aDayBDayArray
存储在Cookie或浏览器本地存储中,或在服务器端添加此逻辑。每天使用printDay()
方法完成工作
您可以进一步配置:
function printDay(aDayBDayArray, swapDays = True) {
console.log(aDayBdayArray[0]);
if (swapDays) {
aDayBDayArray.reverse();
}
}
如果您想要包含更多天数,可以像
那样进行 daysArray = ['a day', 'b day', 'c day', ......... 'n day']
然后在上面的逻辑中循环旋转daysArray
。
答案 3 :(得分:0)
您可以记录一年中的一天,并查找当天是奇数和偶数,并相应地显示字符串。
myFunction();
function myFunction() {
var now = new Date();
var start = new Date(now.getFullYear(), 0, 0);
var diff = now - start;
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
if (day % 2 == 0) {
greeting = "A Day";
} else {
greeting = "B Day";
}
document.getElementById("demo").innerHTML = greeting;
}
&#13;
<p id="demo"></p>
&#13;