js操作时间

//30min later
        var later = new Date(new Date().valueOf() + 30 * 60 * 1000);//先获取现在的毫秒,再加上30分钟的毫秒,在转换成时间对象
        console.log(typeof later)//时间object
        console.log(later.toISOString());//ISO时间格式
        console.log(later.toISOString().substring(0,16));//截取前16位,datetime-local只能用类似这样的格式:2018-08-02T05:59
        later = later.toISOString().substring(0,16);
        console.log(later);


//获取年月日,前提是,later是时间object
        later = later.getFullYear() + '-' + later.getMonth() + '-' + later.getDay() + 'T' + later.getHours() + ':' + later.getMinutes()
        console.log(later);
//转换为本地时间
        console.log(later.toLocaleDateString());//"2018/8/2"
        console.log((new Date(later.toDateString())).toISOString());//"2018-08-02T05:32:42.623Z"


//准确的方法
var later = new Date(new Date().valueOf() + 30 * 60 * 1000);//先获取现在的毫秒,再加上30分钟的毫秒,在转换成时间对象
later = new Date(later)
        var year=later.getFullYear();//年
        if (year< 1900) year = year + 1900;
        var month = later.getMonth() + 1;//月
        if (month < 10) month = '0' + month;
        var day = later.getDate();//日
        if (day < 10) day = '0' + day;
        var hour = later.getHours();//小时
        if (hour < 10) hour = '0' + hour;
        var minute = later.getMinutes();//分钟
        if (minute < 10) minute = '0' + minute;
        var second = later.getSeconds();//秒
        if (second < 10) second = '0' + second;
        var str=year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
        console.log(str)

//通过给定的时间戳,返回对象格式的日期时间信息
    function timeObj(timestamp){

        var later = new Date(timestamp)
        var year=later.getFullYear();//年
        if (year< 1900) year = year + 1900;
        var month = later.getMonth() + 1;//月
        if (month < 10) month = '0' + month;
        var day = later.getDate();//日
        if (day < 10) day = '0' + day;
        var hour = later.getHours();//小时
        if (hour < 10) hour = '0' + hour;
        var minute = later.getMinutes();//分钟
        if (minute < 10) minute = '0' + minute;
        var second = later.getSeconds();//秒
        if (second < 10) second = '0' + second;
        return {year:year,month:month,day:day,hour:hour,minute:minute,second:second}
        // var str=year + '-' + month + '-' + day + 'T' + hour + ':' + minute;
    }
//例子:
//30min later
        var later = new Date().valueOf() + 30 * 60 * 1000;//先获取现在的毫秒,再加上30分钟的毫秒
        later = timeObj(later);
        later = later.year +'-'+ later.month +'-'+ later.day +'T'+ later.hour +':'+ later.minute;
        console.log(later);

        //now
        var now = new Date().valueOf();
        now = timeObj(now);
        now = now.year +'-'+ now.month +'-'+ now.day +'T'+ now.hour +':'+ now.minute;
        console.log(now);

//提供给datetime-local的元素使用
        $("input[name='pre_time']").attr('value',later)
        $("input[name='pre_time']").attr('min',now)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容