从此
文章
📄文章 #️⃣专题 🌐上网 📺 🛒 📱

转换时间与Unix时间戳(Unix Timestamp)

🕗2019-12-18

     什么是时间戳?

  • 时间戳是指格林威治时间自1970年1月1日(00:00:00 GTM)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。
  • 时间戳是能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间

   1、将时间转换成时间戳

  •    
    var tempTime1 = Date.parse(new Date());
    //结果:1576585605000 毫秒级别的数值被转化为000
  • var tempTime2 = (new Data()).valueOf()

    // 结果:1576585605369通过valueOf()函数返回指定对象的原始值获得准确的时间戳值

  • var tempTime3 = new Date().getTime()

    //结果:1576585605369 通过原型方法直接获得当前的毫秒值,准确

  • var tempTime4 = Number(new Date())

    //结果:1576585605369,将时间转化为一个number类型的数值,即时间戳

    2、时间戳转换成时间

  • var tempTime5 = new Date(1576585605369)

    //直接用 new Date(时间戳) 格式转化获得当前时间

  • 案例:JS前一天和后一天
  • HTML代码
  • <button onclick="goBefore()">前一天</button>
        <button onclick="goAfter()">后一天</button>
        <div id="app"></div>
    
        <script src="index.js"></script>

     

  • javaScript 代码:
    var date = new Date();
    
    var app = document.getElementById("app");
    app.innerHTML = myGetDate(date);
    
    //获取时间戳
    var time = date.getTime();//当前的毫秒数
    var oneDay = 1000*60*60*24;//一天的毫秒数
    
    
    //前一天
    function goBefore(){
        var before = time -= oneDay;//计算前一天的毫秒数
        date.setTime(before);
        app.innerHTML = myGetDate(date);
    }
    
    //后一天
    function goAfter(){
        var after = time += oneDay;//计算前一天的毫秒数
        date.setTime(after);
        app.innerHTML = myGetDate(date);
    }
    
    
    //封装日期格式化的方法
    function myGetDate(d){
        return `${d.getFullYear()}年${d.getMonth()+1}月${d.getDate()}日`;
    }