如何在moment.js中以以下格式获取当前月份的第一天和最后一天和时间:
2016-09-01 00:00
我可以像这样获得当前的日期和时间: 时刻()。格式('YYYY-MM-DD h:m'),以上述格式输出。
然而,我需要得到当前月的第一天和最后一天的日期和时间,有办法做到这一点吗?
编辑: 我的问题与这个问题不同,因为它要求用户已经拥有的给定月份,而我要求的是当前月份以及日期的特定格式,这在另一个所谓的“副本”中没有提到。
如何在moment.js中以以下格式获取当前月份的第一天和最后一天和时间:
2016-09-01 00:00
我可以像这样获得当前的日期和时间: 时刻()。格式('YYYY-MM-DD h:m'),以上述格式输出。
然而,我需要得到当前月的第一天和最后一天的日期和时间,有办法做到这一点吗?
编辑: 我的问题与这个问题不同,因为它要求用户已经拥有的给定月份,而我要求的是当前月份以及日期的特定格式,这在另一个所谓的“副本”中没有提到。
当前回答
console.log("current month first date");
const firstdate = moment().startOf('month').format('DD-MM-YYYY');
console.log(firstdate);
console.log("current month last date");
const lastdate=moment().endOf('month').format("DD-MM-YYYY");
console.log(lastdate);
//这是在momentjs中获取日期的最简单方法
其他回答
同样简单,我们可以使用daysInMonth()和endOf()
const firstDay = moment('2016-09-15 00:00', 'YYYY-MM-DD h:m').startOf('month').format('D')
const lastDay = moment('2016-09-15 00:00', 'YYYY-MM-DD h:m').endOf('month').format('D')
moment startOf()和endOf()是你正在搜索的答案。 例如:-
moment().startOf('year'); // set to January 1st, 12:00 am this year
moment().startOf('month'); // set to the first of this month, 12:00 am
moment().startOf('week'); // set to the first day of this week, 12:00 am
moment().startOf('day'); // set to 12:00 am today
console.log("current month first date");
const firstdate = moment().startOf('month').format('DD-MM-YYYY');
console.log(firstdate);
console.log("current month last date");
const lastdate=moment().endOf('month').format("DD-MM-YYYY");
console.log(lastdate);
//这是在momentjs中获取日期的最简单方法
你不需要moment.js也可以做到
一种在原生Javascript代码中做到这一点的方法:
var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
firstDay = moment(firstDay).format(yourFormat);
lastDay = moment(lastDay).format(yourFormat);
还有另一种方法:
var begin = moment().format("YYYY-MM-01");
var end = moment().format("YYYY-MM-") + moment().daysInMonth();