JavaScript:将yyyy-mm-dd快速解析为年,月和日数

时间:2011-05-12 21:31:13

标签: javascript parsing date

如何将快速 yyyy-mm-dd字符串(即“2010-10-14”)解析为年,月,日数字?

以下形式的功能:

function parseDate(str) {
    var y, m, d;

    ...

    return {
      year: y,
      month: m,
      day: d
    }
}

3 个答案:

答案 0 :(得分:8)

你可以分开它:

var split = str.split('-');

return {
    year: +split[0],
    month: +split[1],
    day: +split[2]
};

+运算符强制它转换为整数,并且不受臭名昭着的八进制问题的影响。

或者,您可以使用字符串的固定部分:

return {
    year: +str.substr(0, 4),
    month: +str.substr(5, 2),
    day: +str.substr(8, 2)
};

答案 1 :(得分:1)

十年后?, 如果您想从数组中提取 Years,这将对您有所帮助:

jQuery:

    function splitDate(date) {
      newDate = [];
    
      $.map(date, function (item) {
        arr = item.split("-");
        newDate.push(arr[0]);
      });
    
      return newDate;
    }

传统方式?:

const splitDate = (date) => {
  const newDate = [];

  date.map(item => {
    let arr = item.split("-");
    newDate.push(arr[0]);
  });

  return newDate;
}

const dateArr = ['2013-22-22', '2016-22-22', '2015-22-22', '2014-22-22'];
const year = splitDate(dateArr);

console.log(year)

答案 2 :(得分:0)

您可以查看JavaScript split()方法 - 让您将字符串中的 - 字符拆分为数组。然后,您可以轻松获取这些值并将其转换为关联数组。

return {
  year: result[0],
  month: result[1],
  day: result[2]
}