我可以对一年的最后一天进行硬编码,因为无论如何总会是12月31日。有许多使用date
,js
,jquery
的解决方案。但是我正在开发Angular项目,因此我的代码在typescript
中。我的技术负责人希望我使用moment
进行此操作。我不应该对任何日期进行硬编码。 moment
是否提供任何内置方法来获取给定年份的最后一天。我说给定年是因为在我的情况下,给定年是动态的。它可以随时更改。我正在使用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
格式的给定年份的最后日期。
答案 0 :(得分:3)
moment(date).endOf('year');
日期是该年某处的日期。
答案 1 :(得分:1)
如果您真的想立即解决问题,而不是使用`12-31-$ {year}`,则可以使用:
moment([year]).endOf('year').format('MM-DD-YYYY')
答案 2 :(得分:1)
设置当前日期为 新日期()
const now = moment(new Date()).endOf('year');
alert(now);