关于moment时区的问题?
在vue的项目中使用的moment.js。但是存在时区问题,后端已经处理了时间,使用moment的时候又加了8小时,想问一下怎么修改。如下图
这是template的代码
<el-table-column prop="type" label="计划完成日期" align="center">
<template slot-scope="scope">
<span>{{scope.row.EndDate | moment("YYYY-MM-DD")}}</span>
</template>
</el-table-column>
在main.js中的引入
Vue.use(require('vue-moment'));
想问一下大佬需要怎么改,非常感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
后台虽然转格式了,但转换后的时间格式放到前台并不好处理,当然借助插件方便不少
①因为返回的是
UTC时间
(具体定义移步 什么是UTC时间?),所以有时差,实际的时间应该是UTC时+当前时差
②知道了第一点后,那么
moment.js
自然就会按照你给出的UTC时间
解析出来,自然会+8
小时,当然也可以按照 @asseek 那样的做法只显示UTC时
而不做地区的转换所以代码是没问题的,显示的结果还是得看你的需求的。如果你需要让使用者自己去算时差,那么就用
UTC时
也没什么问题有啥毛病
这不是 moment.js 的问题吧,
moment().format()
就知道是不是与你当前的系统时间相同了检查后端的日期时区是否有设置为 UTC
后端为什么要去处理时区问题呢?要么直接处理成
format
好的字符串,要么就直接把UTC时间交给前端不行吗?虽然你可以通过这样的处理拿到想要的时间,但其实原因是后端这样提供过来的时间就是不对的