【问题标题】:Is there any built-in function in moment/moment-timezone to convert from a timezone name to a "human readable format"?在 moment/moment-timezone 中是否有任何内置函数可以将时区名称转换为“人类可读格式”?
【发布时间】:2019-10-30 13:35:07
【问题描述】:

以我正在处理的一个项目的以下minimal reproducible example 为例,我收到一个时区名称,我需要将其转换为“人类可读的格式”。

即:

  • 输入:America/Los_Angeles
  • 输出:America Los Angeles

我现在,您可能认为“America/Los_Angeles”已经是“人类可读的”,我同意,但我的问题要求将其转换为上述格式(或类似格式,不包括斜线、下划线等) )。

此外,这可以使用正则表达式轻松实现,但是由于 momentmoment timezone 被用作项目的一部分......我想知道,有没有办法使用任何内置的来实现这一点在这些库中的任何一个提供的机制中?


import 'moment-timezone';
import * as moment from 'moment';

const tz = moment.tz.zone("America/Los_Angeles");

const result = tz.name;

console.log(result);  // America/Los_Angeles, need "America Los Angeles"

如果有任何帮助,这是在 Angular 项目中。

【问题讨论】:

    标签: javascript angular typescript momentjs moment-timezone


    【解决方案1】:

    the docs on formatting 解决了这个问题:

    Moment.js 还为长格式时区名称提供了挂钩。因为这些字符串通常是本地化的,所以 Moment Timezone 不会为区域提供任何长名称。

    要提供长表单名称,您可以覆盖 moment.fn.zoneName 并使用 zz 令牌。

    var abbrs = {
        EST : 'Eastern Standard Time',
        EDT : 'Eastern Daylight Time',
        CST : 'Central Standard Time',
        CDT : 'Central Daylight Time',
        MST : 'Mountain Standard Time',
        MDT : 'Mountain Daylight Time',
        PST : 'Pacific Standard Time',
        PDT : 'Pacific Daylight Time',
    };
    
    moment.fn.zoneName = function () {
        var abbr = this.zoneAbbr();
        return abbrs[abbr] || abbr;
    };
    
    moment.tz([2012, 0], 'America/New_York').format('zz');    // Eastern Standard Time
    moment.tz([2012, 5], 'America/New_York').format('zz');    // Eastern Daylight Time
    moment.tz([2012, 0], 'America/Los_Angeles').format('zz'); // Pacific Standard Time
    moment.tz([2012, 5], 'America/Los_Angeles').format('zz'); // Pacific Daylight Time
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 2016-07-17
      • 2014-09-06
      • 2016-12-06
      • 2016-01-20
      • 2018-10-31
      相关资源
      最近更新 更多