用js將從背景獲得的時候戳(毫秒數)轉換為想要的日期花樣

例子:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">
    var unixTimestamp = new Date(1489484017000 ) ;

    /*重載要領*/
    Date.prototype.toLocaleString = function() {
          return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate() + "/ " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
    };
   commonTime = unixTimestamp.toLocaleString();
    alert(commonTime);
</script>

</body>
</html>



獲得背景從數據庫中拿到的數據我們願望花樣是
                2016年10月25日 17時37分30秒 或許 2016/10/25 17:37:30
然則我們前台獲得的倒是一段数字(時刻戳,毫秒數)
                1477386005
我們要將時刻戳轉化為我們想要的花樣。
中心要領 :
1477386005是我從背景獲得時刻戳 (注重:有的時刻獲得的時刻戳是已乘以1000的)

var unixTimestamp = new Date( 1477386005*1000 ) ;
commonTime = unixTimestamp.toLocaleString();
alert(commonTime);
這時刻的效果是:
    
然則我願望轉換為我本身想要的花樣,就在本頁面重寫一下 toLocaleString()要領即可。

Date.prototype.toLocaleString = function() { return this.getFullYear() + "年" + (this.getMonth() + 1) + "月" + this.getDate() + "日 " + this.getHours() + "點" + this.getMinutes() + "分" + this.getSeconds() + "秒";
};

  效果為:
    
或許其他想要的花樣:

Date.prototype.toLocaleString = function() { return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate() + "/ " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
};
 

    效果為:
    

 

/*****變化花樣*****/
   

function formatterTime(time, fmt) {

      if(!time){

            return '';

      }

      if(typeof(time) == "object" || typeof(time) == "OBJECT") {

      var z = {

                  M: time.getMonth() + 1,

                  d: time.getDate(),

                  h: time.getHours(),

                  m: time.getMinutes(),

                  s: time.getSeconds()

            };

      fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {

                  return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2);

            });

      return fmt.replace(/(y+)/g, function(v) {

                  return time.getFullYear().toString().slice(-v.length);

            });

      }else if(typeof(time) == "number"){

            var TIME = new Date( time) ;

            var z = {

                        M: TIME.getMonth() + 1,

                        d: TIME.getDate(),

                        h: TIME.getHours(),

                        m: TIME.getMinutes(),

                        s: TIME.getSeconds()

                  };

            fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {

                        return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2);

                  });

            return fmt.replace(/(y+)/g, function(v) {

                        return TIME.getFullYear().toString().slice(-v.length);

                  });

      }

      else return time;

}




/**js里**/
formatterTime( 1521011095000 ,"yyyy-MM-dd hh:mm:ss")
/*效果:
    2018-03-14 15:04:55
*/




    原文作者:黃玉生
    原文地址: https://segmentfault.com/a/1190000015355189
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞