vue获取时间戳(毫秒)转换为日期格式 2种方式

vue获取时间戳转换为日期格式。

方法一为转载黄轶老师的format方法:出处(黄轶老师github    https://github.com/ustbhuangyi);

  1. // date.js
  2. export function formatDate (date, fmt) {
  3. if ( /(y+)/.test(fmt)) {
  4. fmt = fmt.replace( RegExp.$ 1, (date.getFullYear() + '').substr( 4 - RegExp.$ 1.length));
  5. }
  6. let o = {
  7. 'M+': date.getMonth() + 1,
  8. 'd+': date.getDate(),
  9. 'h+': date.getHours(),
  10. 'm+': date.getMinutes(),
  11. 's+': date.getSeconds()
  12. };
  13. for ( let k in o) {
  14. if ( new RegExp( `(${k})`).test(fmt)) {
  15. let str = o[k] + '';
  16. fmt = fmt.replace( RegExp.$ 1, ( RegExp.$ 1.length === 1) ? str : padLeftZero(str));
  17. }
  18. }
  19. return fmt;
  20. };
  21. function padLeftZero (str) {
  22. return ( '00' + str).substr(str.length);
  23. };
  1. <!-- **.vue -->
  2. <template>
  3. <!-- time时间戳 -->
  4. <div>{{time | formatDate}} </div>
  5. <!-- 输出结果 -->
  6. <!-- <div>2016-07-23 21:52</div> -->
  7. </template>
  8. <script>
  9. import {formatDate} from './common/date.js';
  10. export default {
  11. filters: {
  12. formatDate(time) {
  13. var date = new Date(time);
  14. return formatDate(date, 'yyyy-MM-dd hh:mm');
  15. }
  16. }
  17. }
  18. </script>
方法二为  西风XF 所写 出处:https://blog.csdn.net/qq_36242361/article/details/79143050(在百度出的结果十个有九个是 上述 方法且 在不想使用上述方法 的情况下):

使用vue.filter

<!-- demo.vue -->
<template>
  <!-- time为时间戳 -->
  <div>{{time | formatDate}}</div>
  <!-- 结果为 2018-01-23 18:31:35 -->
</template>
<script type="text/ecmascript-6">
  export default {
    data() {
      return {
        time: 1516703495241
      };
    },
    filters: {
      formatDate: function (value) {
        let date = new Date(value);
        let y = date.getFullYear();
        let MM = date.getMonth() + 1;
        MM = MM < 10 ? ('0' + MM) : MM;
        let d = date.getDate();
        d = d < 10 ? ('0' + d) : d;
        let h = date.getHours();
        h = h < 10 ? ('0' + h) : h;
        let m = date.getMinutes();
        m = m < 10 ? ('0' + m) : m;
        let s = date.getSeconds();
        s = s < 10 ? ('0' + s) : s;
        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
      }
    }
  };
</script>
<style lang="stylus" rel="stylesheet/stylus">
 
</style>

猜你喜欢

转载自blog.csdn.net/qq_42221334/article/details/80855206