zoukankan      html  css  js  c++  java
  • JS时间格式转换

    function timestampFormat( timestamp ) {
    function zeroize( num ) {
    return (String(num).length == 1 ? '0' : '') + num;
    }

    var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳
    var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数

    var curDate = new Date( curTimestamp * 1000 ); // 当前时间日期对象
    var tmDate = new Date( timestamp * 1000 ); // 参数时间戳转换成的日期对象

    var Y = tmDate.getFullYear(), m = tmDate.getMonth() + 1, d = tmDate.getDate();
    var H = tmDate.getHours(), i = tmDate.getMinutes(), s = tmDate.getSeconds();

    if ( timestampDiff < 60 ) { // 一分钟以内
    return "刚刚";
    } else if( timestampDiff < 3600 ) { // 一小时前之内
    return Math.floor( timestampDiff / 60 ) + "分钟前";
    } else if ( curDate.getFullYear() == Y && curDate.getMonth()+1 == m && curDate.getDate() == d ) {
    return '今天' + zeroize(H) + ':' + zeroize(i);
    } else {
    var newDate = new Date( (curTimestamp - 86400) * 1000 ); // 参数中的时间戳加一天转换成的日期对象
    if ( newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d ) {
    return '昨天' + zeroize(H) + ':' + zeroize(i);
    } else if ( curDate.getFullYear() == Y ) {
    return zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
    } else {
    return Y + '年' + zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
    }
    }
    }

    调用

    timestampFormat(1326170770); //2012年01月10日 12:46
    timestampFormat(Date.parse('2016-10-11 15:26:10')/1000); //刚刚
    timestampFormat(Date.parse('2016-10-11 15:10:10')/1000); //16分钟前
    timestampFormat(Date.parse('2016-10-11 10:10:10')/1000); //今天10:10
    timestampFormat(Date.parse('2016-10-10 10:10:10')/1000); //昨天10:10
    timestampFormat(Date.parse('2016-02-10 10:10:10')/1000); //02月10日 10:10
    timestampFormat(Date.parse('2012-10-10 10:10:10')/1000); //2012年10月10日 10:10
  • 相关阅读:
    箭头函数的this、arguments详解
    webpack笔记
    关于proxy反向代理如何解决跨域问题的前世今生
    前端基础修炼日志(一):js内存管理机制
    前后端分离下的跨域问题以及CSRF攻击
    ES6之Promise
    浏览器缓存机制深入理解与实践(二):预加载
    浏览器缓存机制深入理解与实践(一)
    Go开发中的十大常见陷阱[译]
    网站必备之简繁切换功能实现
  • 原文地址:https://www.cnblogs.com/agoodlife/p/10888035.html
Copyright © 2011-2022 走看看