【问题标题】:Display year with Moment JS用 Moment JS 显示年份
【发布时间】:2021-12-15 01:33:21
【问题描述】:

使用 Moment JS,我试图显示开始年份和结束年份,其中结束年份是开始年份之后的 11 个月。我在显示开始年份时没有问题,但结束年份以奇怪的格式显示。我得到:2021 年 1 月 1 日 - 31536002021 年 12 月 31 日。

我需要做些什么才能将该年末格式化为 4 位数的年份?

calendar.component.ts:

  public startMonth: string = moment.months()[0];
  public startYear: number = moment().year();
  public endMonth: string = moment.months()[11];
  public endYear = moment(this.startYear).add(11, 'M');

【问题讨论】:

    标签: javascript angular momentjs


    【解决方案1】:

    moment().year() 返回一个数字,因此当您定义 endYear 时,时刻​​试图从 Unix timestamp 创建日期 - 或者,在您的情况下,距离 Unix 纪元(UTC 时间 1970 年 1 月 1 日凌晨 12 点)的 2021 毫秒。

    在将 startYear 传递给 moment 之前尝试将其转换为字符串,或者阅读 docs 了解格式化、解析和修改日期的多种方法。

    // the add function returns a moment object, so you can continue to format as you see fit
    public endYear = moment(String(this.startYear)).add(11, 'M');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2016-04-21
      • 1970-01-01
      • 2014-04-09
      • 2018-03-27
      • 2023-03-26
      相关资源
      最近更新 更多