js 的日期加天数 或者加月

js中遇到的问题

今天在在js中遇到了时间转换的问题和当前时间加天数或者加月份的问题,我在这做了个简单的笔录

如下图

这里写图片描述

下面的两个时间都是根据上面的时间算出来的
详细看代码

 //自动显示预计锁定期开始时间 写两个是为了两个都有点击时间,都能获取到是,不出错
    $(function(){
        $("#full_time").blur(function(){
            var onlineTime = $('input[name=predict_online_time]').val();
            var fullTime = $('input[name=full_time]').val();
            if(onlineTime != '' && fullTime != ''){
                var now = new Date(onlineTime);
                now.setDate(now.getDate()+parseFloat(fullTime));
                console.log(getCurDate(now));
                $('#predict_lock_time').val(getCurDate(now));
            }
        })
    });
    //获取系统当前时间
    function getCurDate(strTime){
        var d = new Date(strTime);
        var years = d.getFullYear();
        var month = add_zero(d.getMonth()+1);
        var days = add_zero(d.getDate());
        var hours = add_zero(d.getHours());
        var minutes = add_zero(d.getMinutes());
        var seconds=add_zero(d.getSeconds());
        var nowDate = years+"-"+month+"-"+days+" "+hours+":"+minutes+":"+seconds;
        return nowDate;
        //时间加0方法
        function add_zero(temp){
            if(temp<10) return "0"+temp;
                 else return temp;
            }
        }
        //锁定期结束时间
        $(function(){
        $('#lock_time').blur(function(){
            var predictLockTime = $('input[name=predict_lock_time]').val()
            var lockTime = $('input[name=lock_time]').val()
            if(predictLockTime != '' && lockTime != ''){
                $('#lock_end_time').val(getDate(predictLockTime,lockTime));
            }
        })
    })

    //添加月份
    function getDate(date, monthNum){
        var dateArr = date.split('-');
        var year = dateArr[0]; //获取当前日期的年份
        var month = dateArr[1]; //获取当前日期的月份
        var day = dateArr[2]; //获取当前日期的日
        var days = new Date(year, month, 0);
        days = days.getDate(); //获取当前日期中的月的天数
        var year2 = year;
        var month2 = parseInt(month) + parseInt(monthNum);
        if (month2 >12) {
            year2 = parseInt(year2) + parseInt((parseInt(month2) / 12 == 0 ? 1 : parseInt(month2) / 12));
            month2 = parseInt(month2) % 12;
        }
        var day2 = day;
        var days2 = new Date(year2, month2, 0);
        days2 = days2.getDate();
        if (day2 > days2) {
            day2 = days2;
        }
        if (month2 < 10) {
            month2 = '0' + month2;
        }
        var t2 = year2 + '-' + month2 + '-' + day2;
        return t2;
    }
发布了65 篇原创文章 · 获赞 57 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/LiuMiao1128/article/details/77863437