有人可以解释这段代码。我不熟悉JS,所以我需要一些帮助来获得永久解决方案。错误的一年正在显示,直到我在底部显示的完整代码中更改了第5行。我几周前改变了代码,但它突然停止了工作。
我改变了第5行:
TITLE
YESTERDAY
99:99:99
要:
if (myDate.getMonth() < 10) {
它有效,我不知道为什么。
这是完整的代码。我怀疑我的代码更改最终会停止工作。
有人能提供更好的解决方案吗?
if (myDate.getMonth() < 1) {
});
答案 0 :(得分:1)
看看你改变的那条线......
if (myDate.getMonth() < 10) {
var betterMonth = "0" + (myDate.getMonth() + 1);
这表示&#34;如果当前月份小于10&#34;,其目的是将前导0添加到个位数月份。我在这里看到的问题是getMonth()
返回是0个月的索引列表,因此0实际上是1月,1是2月,依此类推。
记住:
代码if (myDate.getMonth() < 10) {
真的在说&#34;如果当前月份小于 11月,则添加前面的0&#34;。当你说错了&#34;年&#34;正在退货,你的意思是&#34;月&#34; ?因为我非常肯定这段代码会输出10月的010
而不是10
。
我相信它应该......
if (myDate.getMonth() < 9) {
有了这些知识,您现在可能会意识到为什么您的修复工作正常。将号码更改为&#34; 1&#34;如果月份在二月之前,则只会添加前面的0。您的解决方案一直有效,直到二月开始,您开始看到2/01/2016
而不是02/01/2016
。