求助:JavaScript中Date对象获取月份和日期值与预期不符
解决JavaScript Date对象获取月份和日期的问题
嘿,这事儿我太熟了!你遇到的是JavaScript Date对象里几个容易搞混的API问题,我帮你拆解清楚:
1. 为什么月份返回1而不是2?
JavaScript的getMonth()方法是从0开始计数的:
- 0 = 一月,1 = 二月,……,11 = 十二月
所以你拿到的1其实正好对应你想要的二月,只需要给结果加1,就能得到常规的1-12月份数值啦。
2. 为什么日期返回0而不是28?
你用错方法啦!getDay()是用来获取星期几的:
- 0 = 周日,1 = 周一,……,6 = 周六
如果你想获取当月的具体日期(比如28号),应该用getDate()方法,它返回的是1-31的数值,完全符合你的需求。
修正后的代码
var fech = new Date("2021-02-28T00:00:00"); document.writeln("Year=" + fech.getFullYear()); document.writeln("Month=" + (fech.getMonth() + 1)); // 加1得到正确月份 document.writeln("Day=" + fech.getDate()); // 用getDate()获取具体日期
运行这段代码,你就能得到预期的结果:Year=2021 Month=2 Day=28
内容的提问来源于stack exchange,提问作者Cris Loli
相关产品推荐
相关产品推荐

