JS设置年份出现错误

敢问各路大仙,下面setFullYear出错是为什么,应该怎么改

setFullYear返回值为     1970年1月1日午夜至调整过日期的毫秒

所以c容器显示的是正常的,题主的错误是指什么..

<p id="c"></p>
<script>
var myDate=new Date();
myDate.setFullYear(2029);
document.getElementById('c').innerHTML=myDate.getFullYear()
</script>

一定要按照你的代码setFullYear后返回年份,可以重写setFullYear函数,如下

<p id="c"></p>
<script>
    Date.prototype.oldSetFullYear = Date.prototype.setFullYear;
    Date.prototype.setFullYear = function (year, month, date) {
        this.oldSetFullYear(year, month === undefined ? this.getMonth() : month, date === undefined ? this.getDate() : date);
        return this.getFullYear();
    }
    var myDate = new Date();
    document.getElementById('c').innerHTML = myDate.setFullYear(2029)
</script>

对你有帮助可以点击采纳支持下吗,谢谢~~

myDate.getFullYear();

        var d = new Date();//实例化日期对象
        var y = d.getFullYear();//年
        var m = d.getMonth()+1;//月
        var day = d.getDate();//日

        var hour = d.getHours();//时
        var min = d.getMinutes();//分
        var sec = d.getSeconds();//秒

        var week = d.getDay();//星期

 

setFullYear() 方法是用于设置年份。 方法的返回值是调整过的日期的毫秒值,也就是1622481658254
你如果是要获取年份应该用 getFullYear()

<p id="c"></p>
<script type="text/javascript">
var myDate = new Date();
document.getElementById("c").innerHTML = myDate.getFullYear();
</script>

看你要显示什么内容了,如果只是显示年份,setFullYear换成getFullYear

如果要显示完整的时间,默认的Date格式,那么 setFullYear返回的是时间戳,你需要再new一下

new Date(new Date().setFullYear(2020))

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632