【发布时间】:2020-02-12 05:20:29
【问题描述】:
我可以硬编码一年中的最后一天,因为无论如何它总是 12 月 31 日。有很多解决方案使用date、js、jquery。但我正在开发一个 Angular 项目,因此我的代码在 typescript 中。我的技术主管希望我使用moment 来执行此操作。我不应该硬编码任何日期。 moment 是否提供了任何内置方法来获取 given 年的最后一天。我说的是 given 年,因为在我的情况下 given 年是动态的。它可以随时改变。我正在使用endOf() 方法。我在自定义年份出现错误。我的意思是:
const lastDayOfYear = moment().endOf('year') 工作正常,但是:
const lastDayOfYear = moment().endOf(2025) 给我这个错误:
“2025”类型的参数不能分配给“StartOf”类型的参数
我也试过了:
const lastDayOfYear = moment().endOf("2025");year=2025; const lastDayOfYear = moment().endOf(year);
这种方法将如何工作?我已经浏览了整个Moment docs。或者我应该坚持使用javascript的Date。像这样的:
new Date(new Date().getFullYear(), 11, 31);
请提供解决方案。
PS:我只想要MM-DD-YYYY 格式的给定年份的最后日期。
【问题讨论】:
-
const lastDayOfYear = moment().endOf('year') is working fine你能告诉我们'year'在这种情况下到底是什么 -
@bhaskar,
year本身是预先定义的常数,它始终指的是当前年份,即 2020 年。您还可以传递其他参数。例如。 “周”、“日”等 -
不要认为这是可能的。因为 JS 中的常量不会作为字符串传递。鉴于下面的答案,我认为 endOf() 函数接受一个字符串参数,该参数定义您需要
endof..的日期的哪一部分。
标签: javascript typescript momentjs