【问题标题】:Moment js format date with timezone带有时区的 Moment js 格式日期
【发布时间】:2016-08-23 14:05:14
【问题描述】:

您好,我正在使用 Ember+moment.js 在我的 ember 助手中格式化日期。

我从服务中得到以下日期

2016 年 8 月 23 日星期二 09:43:53 GMT+0200(西欧夏令时间)

在我的 ember 助手类中,我可以使用以下代码格式化日期:

var formattedDate = moment(date).format('DD/MM/YYYY h:mm a');

我得到以下输出:

23/08/2016 上午 9:43

预期输出:23/08/2016 9:43 am GMT

如何在格式函数中指定时区标志?

任何帮助都应该感谢。

【问题讨论】:

  • @Laurianti 我们暂时没有任何占位符(如 TZ)?因为在我的价值本身中,我有 timeZone。
  • 您是否尝试将z 添加到格式字符串中?
  • @locks 是添加但没有运气而不是 EST 我得到以下输出“23/08/2016 9:43 am +2:00”
  • 听起来 Moment Timezone 不包含在您使用的软件包中,您必须导入它。你可以试试ember-cli-moment-shim

标签: javascript date ember.js momentjs


【解决方案1】:

安装 ember-moment - ember install ember-moment
安装 ember-cli-moment-shim - ember install ember-cli-moment-shim
停止和开始ember server

要启用时刻时区,需要在 config\environment.js 中包含moment:{ includeTimezone: 'all' }

/* jshint node: true */

module.exports = function(environment) {
  var ENV = {
    modulePrefix: 'App-Name',
    environment: environment,
    baseURL: '/',
    locationType: 'auto',
    moment: {
      // Options:
      // 'all' - all years, all timezones
      // '2010-2020' - 2010-2020, all timezones
      // 'none' - no data, just timezone API
      includeTimezone: 'all'
    },
    EmberENV: {
      FEATURES: {
        // Here you can enable experimental features on an ember canary build
        // e.g. 'with-controller': true
      }
    },

    APP: {
      // Here you can pass flags/options to your application instance
      // when it is created
    }
  };
  return ENV;
};

然后您就可以开始使用 tz 函数并获取缩写的时区名称,您可以在格式中包含 z 标志。

moment().tz('Asia/Calcutta').format('DD/MM/YYYY h:mm a z')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2018-12-08
    • 2018-11-25
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多