Использование часовых поясов с @ nuxtjs / moment

Мы используем @ nuxtjs / moment (https://www.npmjs.com/package/@nuxtjs/moment) в нашем приложении nuxt.

В нашем приложении мы хотим отображать метки времени по Гринвичу в часовом поясе пользователя следующим образом:

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

Но на моем ПК результат просто

2 hours ago потому что я живу в Германии.

Есть ли способ установить часовой пояс по умолчанию на GMT, чтобы функция работала правильно? Я изучил часовой пояс, но понятия не имею, как реализовать это в приложении nuxt.


person Crack_David    schedule 25.04.2019    source источник


Ответы (2)


Похоже, есть открытая проблема в репозитории для этого здесь. Вместо этого я предлагаю добавить моментальный часовой пояс в качестве плагина до тех пор, пока эта функция не будет объединена.

Установить

npm install moment-timezone

Добавьте импорт плагина

// nuxt.config.js
export default {
  plugins: ['~/plugins/moment-timezone-inject.js']
}

Создать плагин

// ~/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)
}

использование

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

person HMilbradt    schedule 13.07.2019

Обновить

Вы можете включить моментальный часовой пояс с помощью параметра часового пояса, добавив его в nuxt.config.js:

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    timezone: true
  }
}

Установка часового пояса по умолчанию:

moment: {
    defaultTimezone: 'America/Los_Angeles'
  }

Дополнительная информация: https://www.npmjs.com/package/@nuxtjs/moment

person Almog Langleben    schedule 28.07.2020
comment
Даже включить я не могу использовать moment.tz.guess, почему? - person Jessy; 17.06.2021