把时间转成适合符合日常习惯的格式【js】

假设现在是7月30日12点,我们可以说今天12点,意思也非常明确。

我们习惯说昨天12点,而不习惯说29号12点。

我们习惯说周一12点,而不习惯说28号12点,这样不用翻日历看今天是几号。

so,上代码:

var oneDay = 24 * 60 * 60 * 1000;//一天的毫秒数

   String.prototype.paddingLeft0 = function () {
       return this.length === 1 ? '0' + this : this;
   }

 
 

    //解析 像这样的时间 '/Date(1406532408860)/'
    //返回适合现在阅读的时间
   function parseTime(time) {
       var res = '';
       var t = eval('new ' + time.toString().replace(/\//g, ''));
       var M = t.getMonth() + 1+'';
       var d = t.getDate()+'';
       var wd = t.getDay()+'';
       var h = (t.getHours() + '').paddingLeft0();
       var m = (t.getMinutes()+'').paddingLeft0();
       var n = new Date();

       var getDays = function (n, t) {
           var r = 0;
 
           if ((n - t) >= oneDay) {
               if ((n - t) >= oneDay && (n - t) < oneDay * 2) { r = 1; }
               else if ((n - t) >= oneDay * 2 && (n - t) < oneDay * 3) { r = 2; }
               else { r = -1; }//-1表示大于2天
           }
           return r;

       }

      

       var w = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
       switch (getDays(n, t)) {
           case 0: res = '<strong>今天</strong> ' + h + ':' + m; break;
           case 1: res = '<strong>昨天</strong> ' + h + ':' + m; break;
           case 2: res = '<strong>'+w[wd]+'</strong> ' + h + ':' + m; break;
           case -1: res = '<strong>' + M + '月' + d + '日</strong> ' + h + ':' + m; break;

           default: break;

       }


      
       return res;
   }

then,上图:

posted @ 2014-07-30 13:23  二师弟tl  阅读(229)  评论(0编辑  收藏  举报