js 时间格式化:一个简单的时间格式化对象

前端开发 1030 Views 0 Comments

js 时间格式化

效果如下:

今天是:星期六

现在是:2016-8-27 14:41:28

2016/8/26 2:28:24 是:1天前

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4.     <meta charset="UTF-8">
  5.     <title></title>
  6. </head>
  7. <body>
  8.     <div id="show"></div>
  9. </body>
  10. <script>
  11. var timeFormat = {
  12.     dateChooseList:{
  13.         "year":function(date){ return date.getFullYear() },
  14.         "month":function(date){ return date.getMonth()+1 },
  15.         "day":function(date){ return date.getDate() },
  16.         "hour":function(date){ return date.getHours() },
  17.         "minute":function(date){ return date.getMinutes() },
  18.         "second":function(date){ return date.getSeconds() }
  19.     },
  20.     dealChooseTimeFormat:function(choose,date){
  21.         return this.dateChooseList[choose](date);
  22.     },
  23.     getChooseTimeFormat: function (choose,date) {   //传入时间戳
  24.         if(typeof(date) === "undefined"){
  25.             date = new Date();
  26.             return this.dealChooseTimeFormat(choose,date);
  27.         }
  28.         else{
  29.             date = new Date(parseInt(date) * 1000);
  30.             if(typeof(this.dateChooseList[choose]) === "function"){
  31.                 return this.dealChooseTimeFormat(choose,date);
  32.             }
  33.             else{
  34.                 return "Error time type!";
  35.             }
  36.         }
  37.     },
  38.     getFullTimeFormat: function (step,date) {
  39.         date = date ? new Date(parseInt(date)) : new Date();
  40.         step = step || "second";
  41.         var hours = this.dealChooseTimeFormat("hour",date);
  42.         var minutes = this.dealChooseTimeFormat("minute",date);
  43.         var seconds = this.dealChooseTimeFormat("second",date);
  44.         hours = this.saveTwoDigital(hours);
  45.         minutes = this.saveTwoDigital(minutes);
  46.         seconds = this.saveTwoDigital(seconds);
  47.         var newDate = this.dealChooseTimeFormat("year",date) + "-" + this.dealChooseTimeFormat("month",date) + "-" + this.dealChooseTimeFormat("day",date);
  48.         switch (step){
  49.             case "day":
  50.                 return newDate;
  51.                 break;
  52.             case "hour":
  53.                 return newDate + " " + hours;
  54.                 break;
  55.             case "minute":
  56.                 return newDate + " " + hours + ":" + minutes;
  57.                 break;
  58.             case "second":
  59.                 return newDate + " " + hours + ":" + minutes + ":" +seconds;
  60.                 break;
  61.             default :
  62.                 return "Parameter error!";
  63.                 break
  64.         }
  65.         return newDate;
  66.     },
  67.     getWeekFormat:function(date){
  68.         date = date || new Date();
  69.         var today = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');
  70.         var week = today[date.getDay()];
  71.         return week;
  72.     },
  73.     countdownUpdate: function (timeIntervals) {
  74.         timeIntervals = (Date.parse(new Date()) - timeIntervals)/1000 || 0;
  75.         var y = Math.floor(timeIntervals / 60 / 60 / 24 / 30 / 12);
  76.         var M = Math.floor(timeIntervals / 60 / 60 / 24 / 30);
  77.         var d = Math.floor(timeIntervals / 60 / 60 / 24);
  78.         timeIntervals = (timeIntervals - d * 60 * 60 * 24);
  79.         var h = Math.floor(timeIntervals / 60 / 60);
  80.         var m = Math.floor((timeIntervals - h * 60 * 60) / 60);
  81.         var s = Math.floor((timeIntervals - h * 60 * 60 - m * 60));
  82.         if(y>0){
  83.             return y+'年前';
  84.         }
  85.         else if(M>0){
  86.             return M+'月前';
  87.         }
  88.         else if(d>0){
  89.             return d+'天前';
  90.         }
  91.         else if(h>0){
  92.             return h+'小时前';
  93.         }
  94.         else if(m>0){
  95.             return m+'分钟前';
  96.         }
  97.         else{
  98.             return '刚刚';
  99.         }
  100.         //return (d > 0 ? d + ' 天 ' : '') + (h < 10 ? '0' + h : h) + ' 小时 ' + (m < 10 ? '0' + m : m) + ' 分 ' + (s < 10 ? '0' + s : s) + ' 秒';
  101.     },
  102.     saveTwoDigital:function(string){
  103.         var len = string.toString().length;
  104.         switch(len){
  105.             case 1:
  106.                 string = '0' + string;
  107.                 break;
  108.             case 4:
  109.                 string = string.toString().substr(2,2);
  110.                 break;
  111.             default :
  112.                 break
  113.         }
  114.         return string;
  115.     }
  116. };
  117. document.getElementById("show").innerText = "今天是:" + timeFormat.getWeekFormat() + "\u000a\u000a";
  118. document.getElementById("show").innerText += "现在是:" + timeFormat.getFullTimeFormat("second") + "\u000a\u000a";
  119. document.getElementById("show").innerText += "2016/8/26 2:28:24 是:" + timeFormat.countdownUpdate("1472149704000") + "\u000a\u000a";
  120. </script>
  121. </html>

转载请注明:一只羊博客 » js 时间格式化:一个简单的时间格式化对象

分享到:
(2)

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址