我有一个格式为'YYYY / MM / DD'的日期数组,例如:
dateArr = [2018-06-09, 2018-06-10]
。我想创建两个数组,每个数组包含特定日期的月份,另一个数据形式包含特定日期的日期。
天数是:
const daysToNumbers = {
Sunday: 0,
Monday: 1,
Tuesday: 2,
Wednesday: 3,
Thursday: 4,
Friday: 5,
Saturday: 6
};
和月份:
const daysToMonths = {
Januray: 0,
February: 1,
March: 2,
April: 3,
May: 4,
June: 5,
July: 6,
August: 7,
September: 8,
October: 9,
November: 10,
December: 11
};
例如,第一个数组包含这样的日期:[6,0]和这样的月份:[5,5] 我认为moment.js对于这个有一些功能,比如白天或月份,但它似乎不起作用
答案 0 :(得分:1)
在momentjs中有get day's number和months number的专用函数。结帐here了解更多信息
var date = "2018-06-09";
console.log(moment(date).day()); // get day of week number 0 to 6
console.log(moment(date).month()); // get month of year 0 to 11
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
答案 1 :(得分:1)
在原始数组上使用Array#map
将项目转换为时刻对象,然后使用get()
方法检索日期的相应组件:
const dateArr = ['2018-06-09', '2018-06-10'];
const momentArr = dateArr.map(item => moment(item));
const monthArr = momentArr.map(item => item.get('month'));
const dayArr = momentArr.map(item => item.get('day'));
console.log(monthArr, dayArr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>