关于moment时区的问题?

发布于 2022-09-11 16:49:10 字数 545 浏览 17 评论 0

在vue的项目中使用的moment.js。但是存在时区问题,后端已经处理了时间,使用moment的时候又加了8小时,想问一下怎么修改。如下图

clipboard.png

这是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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

不如归去 2022-09-18 16:49:10

后台虽然转格式了,但转换后的时间格式放到前台并不好处理,当然借助插件方便不少
①因为返回的是UTC时间(具体定义移步 什么是UTC时间?),所以有时差,实际的时间应该是UTC时+当前时差

②知道了第一点后,那么moment.js自然就会按照你给出的UTC时间解析出来,自然会+8小时,当然也可以按照 @asseek 那样的做法只显示UTC时而不做地区的转换

所以代码是没问题的,显示的结果还是得看你的需求的。如果你需要让使用者自己去算时差,那么就用UTC时也没什么问题

简单气质女生网名 2022-09-18 16:49:10

有啥毛病

clipboard.png

勿忘心安 2022-09-18 16:49:10

这不是 moment.js 的问题吧,
moment().format() 就知道是不是与你当前的系统时间相同了
检查后端的日期时区是否有设置为 UTC

青衫负雪 2022-09-18 16:49:10

后端为什么要去处理时区问题呢?要么直接处理成format好的字符串,要么就直接把UTC时间交给前端不行吗?

moment(data).utc().format('YYYY-MM-DD HH:mm:ss')

虽然你可以通过这样的处理拿到想要的时间,但其实原因是后端这样提供过来的时间就是不对的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文