加载中...
  • js关于时间的各种转换

    前言:

    工作中总是会遇到时间转换的情况,好多时候忘记了都得上吧百度查找下问题,所以在这里准备把常用的方法记录下来以便后续工作的更加方便

    注意:

    1. 此处的标准时间格式为 2018-03-23 13:35:47

    2. 此处的毫秒为 js中getTime();

    3. 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总 秒 数

    4. getTime() 返回 1970 年 1 月 1 日至今的总 毫秒 数,不是总秒数

    一、将毫秒转换成标准时间格式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /**
    * @param {数值类型} date
    */
    function formatDate(date){
    date = new Date(date);
    var y = date.getFullYear();
    var m = date.getMonth()+1;
    var d = date.getDate();
    var h = date.getHours();
    var m1 = date.getMinutes();
    var s = date.getSeconds();
    m = m<10?("0"+m):m;
    d = d<10?("0"+d):d;
    return y+"-"+m+"-"+d+" "+h+":"+m1+":"+s;
    }
    // 例
    console.log(formatDate(1521783347000)); // 2018-03-23 13:35:47 参数为Number

    二、将标准时间格式转换成毫秒

    1
    2
    var date = Date.parse(new Date('2018-03-23 13:35:47'));// 参数为String
    console.log(date); // 1521783347000 单位:毫秒

    三、格式化Thu May 12 2017 08:00:00 GMT+0800 (中国标准时间) 转字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    function checkTime(i){
    if (i < 10){
    i = "0" + i
    }
    return i;
    }
    var date = new Date('Thu May 12 2020 08:00:00 GMT+0800 (中国标准时间)');
    let date_value = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + checkTime(date.getHours()) + ':' + checkTime(date.getMinutes()) + ':' + checkTime(date.getSeconds());
    console.log(date_value) // 最后显示yyyy-MM-dd hh:mm:ss 2020-5-12 08:00:00

    四、字符串Wed Dec 13 2017 16:00:00 GMT+0800 (中国标准时间)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //	如何将2017-12-13 16:00:00转换成标准时间?
    function str_time(date) {
    var t = Date.parse(date);
    if (!isNaN(t)) {
    return new Date(Date.parse(date.replace(/-/g, "/")));
    }
    else{
    return new Date();
    }
    }
    console.log(str_time('2017-12-13 16:00:0')) // 输入为:Wed Dec 13 2017 16:00:00 GMT+0800 (中国标准时间)

    五、获取当前时间日期 2020-05-29 17:28:28

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function getDate(){
    const myDate = new Date();
    const getFullYear = myDate.getFullYear();
    const getMonth = myDate.getMonth()+1 > 9? myDate.getMonth()+1:'0'+(myDate.getMonth()+1);
    const date = myDate.getDate();
    const getHours = myDate.getHours();
    const getMinutes = myDate.getMinutes();
    const getSeconds = myDate.getSeconds();

    const t = getFullYear+'-'+getMonth+'-'+date+' '+getHours+':'+getMinutes+':'+getSeconds;
    return t;
    }
    console.log(getDate()); // 输出:2020-09-23 22:23:37

    六、js获取当前时间戳

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //	第一种方法: Date.parse(new Date()) 获取的时间戳是把毫秒改成000显示,例:1600871731000
    var time1 = Date.parse(new Date());
    console.log(time1)

    // 第二种方法: new Date().valueOf() 是获取了当前毫秒的时间戳,例:1600871731734
    var time2 = new Date().valueOf();
    console.log(time2)

    // 第三种方法: new Date().getTime() 是获取了当前毫秒的时间戳 例:1600871731735
    var time3 = new Date().getTime();

    上一篇:
    AES加密解密的使用方法
    下一篇:
    AES加密解密的使用方法
    本文目录
    本文目录