我们在nuxt应用程序中使用@ nuxtjs / moment(https://www.npmjs.com/package/@nuxtjs/moment)包。
在我们的应用中,我们希望在用户时区中显示GMT时间戳,如下所示:
<div>{{ $moment("2019-04-25 19:01:03").fromNow() }}</div>
但是在我的PC上,结果只是
2 hours ago
,因为我是德国人。
是否可以将默认时区设置为GMT,以便该功能正常工作?我已经研究了矩时区,但不知道如何将其实现到nuxt应用程序。
答案 0 :(得分:1)
更新
您可以通过将时区选项添加到nuxt.config.js
来启用“时区”选项:
export default {
buildModules: [
'@nuxtjs/moment'
],
moment: {
timezone: true
}
}
设置默认时区:
moment: {
defaultTimezone: 'America/Los_Angeles'
}
答案 1 :(得分:0)
此here的回购中似乎有一个未解决的问题。我建议做的是改为添加moment-timezone作为plugin,直到该功能被合并。
安装
npm install moment-timezone
添加插件导入
// nuxt.config.js
export default {
plugins: ['~/plugins/moment-timezone-inject.js']
}
创建插件
// ~/plugins/moment-timezone-context-inject.js
const moment = require('moment-timezone');
export default ({ app }, inject) => {
// Inject into context, Due instances, and Vuex store
inject('$moment_timezone', moment)
}
用法
// Add whatever timezone you need
<div>{{ $moment_timezone("2019-04-25 19:01:03").tz("Asia/Taipei"); }}</div>