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

发布于 2024-11-07 02:06:52 字数 226 浏览 1 评论 0原文

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

具有以下形式的函数:

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

    ...

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

How can I parse fast a yyyy-mm-dd string (ie. "2010-10-14") into its year, month, and day numbers?

A function of the following form:

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

    ...

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

他不在意 2024-11-14 02:06:52

您可以拆分它:

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)
};

You can split it:

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

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

The + operator forces it to be converted to an integer, and is immune to the infamous octal issue.

Alternatively, you can use fixed portions of the strings:

return {
    year: +str.substr(0, 4),
    month: +str.substr(5, 2),
    day: +str.substr(8, 2)
};
残龙傲雪 2024-11-14 02:06:52

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

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

You could take a look at the JavaScript split() method - lets you're split the string by the - character into an array. You could then easily take those values and turn it into an associative array..

return {
  year: result[0],
  month: result[1],
  day: result[2]
}
七月上 2024-11-14 02:06:52

10年后

10 years later ????,
If you want to extract Years from an array, this will help you:

jQuery:

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

Traditional way ???? :

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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文