通过 @nuxtjs/moment 使用时区

Cra*_*vid 3 momentjs vue.js nuxt.js moment-timezone

我们在 nuxt 应用程序中使用 @nuxtjs/moment ( https://www.npmjs.com/package/@nuxtjs/moment ) 包。

在我们的应用程序中,我们希望显示用户时区的 GMT 时间戳,如下所示:

<div>{{ $moment("2019-04-25 19:01:03").fromNow() }}</div>
Run Code Online (Sandbox Code Playgroud)

但在我的电脑上结果只是

2 hours ago因为我在德国。

有什么方法可以将默认时区设置为 GMT 以便该功能正常工作吗?我研究过时刻时区,但不知道如何将其实现到 nuxt 应用程序。

HMi*_*adt 5

看起来这里的存储库中有一个未解决的问题。我建议做的是添加时刻时区作为插件,直到该功能被合并。

安装

npm install moment-timezone
Run Code Online (Sandbox Code Playgroud)

添加插件导入

// nuxt.config.js
export default {
  plugins: ['~/plugins/moment-timezone-inject.js']
}
Run Code Online (Sandbox Code Playgroud)

创建插件

// ~/plugins/moment-timezone-inject.js

const moment = require('moment-timezone');
export default ({ app }, inject) => {
  // Inject into context, Due instances, and Vuex store
  inject('moment_timezone', moment)
}
Run Code Online (Sandbox Code Playgroud)

用法

// Add whatever timezone you need
<div>{{ $moment_timezone("2019-04-25 19:01:03").tz("Asia/Taipei"); }}</div>

Run Code Online (Sandbox Code Playgroud)