使用时刻了解特定日期的数字类型的日期和月份

时间:2018-06-09 13:57:47

标签: javascript date momentjs

我有一个格式为'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对于这个有一些功能,比如白天或月份,但它似乎不起作用

2 个答案:

答案 0 :(得分:1)

在momentjs中有get day's numbermonths 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>