zoukankan      html  css  js  c++  java
  • 【JavaScript】标准日期、中国标准时间、时间戳、毫秒数互转

    转载自:https://blog.csdn.net/IT429/article/details/78341847

    看到的一篇比较有用的前端js时间转换方法,留个备份

    首先要明确这三种格式是什么样子的:

    • 标准日期:2017-09-19 或 2017-09-19 20:00:00
    • 中国标准时间:Mon Oct 23 2017 17:20:13 GMT+0800 (中国标准时间)
    • 时间戳:1508750413
    • 毫秒数:1508750413000 
      注意:时间戳*1000就是毫秒数

    日期或中国标准时间转毫秒数:

    //变量
    let myDate2 = 'Mon Oct 23 2017 17:20:13 GMT+0800 (中国标准时间)';
    let myDate3 = '2017-09-19';
    let myDate4 = '2017-09-19 20:00:00';
    
    //实现方法
    function dateToMs (date) {
        let result = new Date(date).getTime();
        return result;
    }
    
    //例子
    console.log(dateToMs(myDate2));//--->1508750413000
    console.log(dateToMs(myDate3));//--->1505779200000
    console.log(dateToMs(myDate4));//--->1505779400000

    毫秒数或中国标准时间转日期:

    //变量
    let myTime1 = dateToLongMs(myDate2);
    let myTime2 = dateToLongMs(myDate3);
    let myTime3 = dateToLongMs(myDate4);
    
    //实现方法 @return 返回2个值,一个是带时分秒,另一个不带。
    function msToDate (msec) {
        let datetime = new Date(msec);
        let year = datetime.getFullYear();
        let month = datetime.getMonth();
        let date = datetime.getDate();
        let hour = datetime.getHours();
        let minute = datetime.getMinutes();
        let second = datetime.getSeconds();
    
        let result1 = year + 
                     '-' + 
                     ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + 
                     '-' + 
                     ((date + 1) < 10 ? '0' + date : date) + 
                     ' ' + 
                     ((hour + 1) < 10 ? '0' + hour : hour) +
                     ':' + 
                     ((minute + 1) < 10 ? '0' + minute : minute) + 
                     ':' + 
                     ((second + 1) < 10 ? '0' + second : second);
    
        let result2 = year + 
                     '-' + 
                     ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + 
                     '-' + 
                     ((date + 1) < 10 ? '0' + date : date);
    
        let result = {
            hasTime: result1,
            withoutTime: result2
        };
    
        return result;
    }
    
    //例子
    console.log(msToDate(myTime1).hasTime);//--->2017-10-23 17:20:13
    console.log(msToDate(myTime1).withoutTime);//--->2017-10-23
    console.log(msToDate(myTime2).hasTime);//--->2017-09-19 08:00:00
    console.log(msToDate(myTime2).withoutTime);//--->2017-09-19

    标准日期转中国标准时间

    //变量
    let myDate4 = '2017-09-19';
    let myDate5 = '2017-09-19 20:00:00';
    
    //实现方法
    function formatterDate (date) {
        let result = new Date(date);
        return result;
    }
    
    //例子
    console.log(formatterDate(myDate4));//--->Tue Sep 19 2017 08:00:00 GMT+0800 (中国标准时间)
    console.log(formatterDate(myDate5));//--->Tue Sep 19 2017 20:00:00 GMT+0800 (中国标准时间)



  • 相关阅读:
    如何在linux系统安装redis
    关于—单例模式
    2.观察者模式(发布-订阅模式)
    1.提供者模式
    提供者模式:提供者的实例化加锁
    为已有的类添加特性,常用于数据库生成的类模型
    C#特性
    JSON.parse(jsonStr)和eval('('+jsonStr+')')
    a标签的href和onclick
    查看SQL语句执行时间/性能测试
  • 原文地址:https://www.cnblogs.com/codecola/p/10218424.html
Copyright © 2011-2022 走看看