vue.js渲染时间磋该怎么处理?

            <template v-for="v in demand">
                <span>需求创建时间{{v.demand_createtime}}</span>
            </template>

渲染结果
//--------------------------------------
需求创建时间1466248396

如何用vue.js把时间磋转换成北京时间

阅读 26.4k
4 个回答
<span>需求创建时间{{v.demand_createtime | time}}</span>
    Vue.filter('time', function (value) {
        return new Date(parseInt(value) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
    })

涉及到时间我建议使用moment.js这个业界牛逼的类库

像这种展示的逻辑,我建议你写成一个filter

Vue.filter('moment', function (value, formatString) {
    formatString = formatString || 'YYYY-MM-DD HH:mm:ss';
    return moment(value).format(formatString);
});
<template v-for="v in demand">
    <span>需求创建时间{{v.demand_createtime | moment}}</span>
</template>

上面的问答都是用filter在花括号和v-bind中使用,但是我在列表渲染的时候,用的是prop属性,那应该怎么格式化时间戳呢?

{{ }} 里可以写 js 表达式,试试这样写。

<template v-for="v in demand">
    <span>需求创建时间{{ new Date(v.demand_createtime).toLocaleString() }}</span>
</template>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题