Moment()与预定义的Moment()。结束日期

时间:2019-04-15 11:59:45

标签: javascript date momentjs

我有一个名为date的矩对象:

  

(Tue Apr 09 2019 00:00:00 ...)

我想在这样的租赁时间当天替换为它:

  

(2019年4月9日星期二23:59:59 ...)

我尝试使用var date_end = moment().endOf(date)

但是它仅在我输入(日,周或年)时有效 可以使用endOf还是有其他解决方案?

3 个答案:

答案 0 :(得分:1)

如果您已经有了矩对象,则可以执行date.endOf('day')。我认为您误解了文档。

var date = moment('2019-04-09')
console.log('Before endOf', date.format())
date = date.endOf('day')
console.log('after endOf', date.format())
<script src="https://cdn.jsdelivr.net/momentjs/2.14.1/moment-with-locales.min.js"></script>

  

End of time

     

通过将原始时刻设置为单位的末尾来对其进行突变   时间。

     

这与moment#startOf相同,只是没有设置为   时间单位的开始,设置为时间单位的结束。

     

moment().endOf("year"); // set the moment to 12-31 23:59:59.999 this year

答案 1 :(得分:1)

您可以在用endOf解析字符串日期之后使用moment()

或者您可以手动设置小时,分钟,秒和毫秒

let myMoment = moment('2019-04-09').endOf('day');
console.log(myMoment);

let myMoment2 = moment('2019-04-09').hour(23).minute(59).second(0).milliseconds(0);
console.log(myMoment2);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>

答案 2 :(得分:1)

您只需将特定的日期添加到时刻字符串中即可获取一天结束

date = moment(new Date('Tue Apr 09 2019 00:00:00'));
console.log('End of day = ' + date.endOf('day').toString())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>