HTML嵌入JS代码显示当前日期结果与实际不符问题求助
问题原因
- 误用
getDay()方法Date.getDay()返回的是当前日期对应的星期数值,范围为0(周日)6(周六),你输出的4对应星期四,并非当月日期。要获取当月的日期值,需要调用`getDate()`方法,该方法会返回131的当月日期数值,2021年9月23日调用该方法将返回23。 getMonth()返回值为0基索引Date.getMonth()返回的月份从0开始计数,0对应1月、1对应2月,以此类推,你拿到的8实际对应9月,需要给返回结果加1才能得到正确的公历月份数字。
修正后代码
<p id="todays-date"> <script> var currentDate = new Date(); var day = currentDate.getDate(); var month = currentDate.getMonth() + 1; var year = currentDate.getFullYear(); var fullDate = day + "/" + month + "/" + year; document.write(fullDate); </script> </p>
如果需要强制使用澳大利亚时区输出日期,避免用户设备时区异常导致的显示错误,可以直接调用toLocaleDateString方法指定地区和时区,不需要手动拼接日期:
// 示例输出:23/9/2021 currentDate.toLocaleDateString('en-AU', { timeZone: 'Australia/Sydney' })
内容的提问来源于stack exchange,提问作者Milton T
相关产品推荐
相关产品推荐

