【问题标题】:Display previous year and current year in angular以角度显示上一年和当前年份
【发布时间】:2020-09-24 08:23:12
【问题描述】:

我正在尝试以“2019-20”的格式获取上一年和当前年份。是否有捷径可寻。我写了一个代码,但它返回 2020-21。

  getCurrentFinancialYear2() {
    var fiscalyear_ = "";
    var today = new Date();
    if ((today.getMonth() + 1) <= 3) {
      fiscalyear_ = ((today.getFullYear() - 1) + "") + "-" + (today.getFullYear() + "").slice(-2)
    } else {
      fiscalyear_ = (today.getFullYear() + "") + "-" + ((today.getFullYear() + 1) + "").slice(-2)
    }
    this.year_ = fiscalyear_
    
    return fiscalyear_
    
  }

有没有更简单的方法来实现这一点?

【问题讨论】:

  • 您为什么使用if 条件。因为如果条件你得到2020-21。因为根据您的 if 条件 currentMonth + 1 = 9 大于 3。这就是为什么它处于 else 条件并根据您的代码打印 2020-21 的原因。否则,如果条件中的代码块将按预期工作,并将为您提供 2019-20

标签: javascript angular typescript date


【解决方案1】:

function getCurrentFinancialYear() {
  const thisYear = (new Date()).getFullYear();
  const lastYear = thisYear-1;
  return `${lastYear}-${thisYear.toString().slice(-2)}`;
}

console.log(getCurrentFinancialYear());

【讨论】:

    【解决方案2】:

    如果你只关心现代年份,那么你可以得到当前年份,减去一个并连接当前的最后两位数字,例如

    function getFY(year = new Date().getFullYear()){
      return `${year - 1}-${String(year).slice(-2)}`; 
    }
    
    console.log(getFY());       // Default: current year
    console.log(getFY(2021));   // Year as number
    console.log(getFY('2022')); // Year as string

    如果您想处理所有可能的年份(从 1970 年起大约为 ±285,426),您需要做更多的工作。

    【讨论】:

    • 对我来说幸运的是现代。谢谢你的时间伙伴:)
    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多