首页 > 解决方案 > 将数组中的所有日期转换为格式 MM/DD/YYYY javascript

问题描述

我有一个格式为日期的数组:

dates_arr = [
    Thu Aug 13 2020 00:00:00 GMT-0400 (Eastern Daylight Time),
    Fri Aug 14 2020 00:00:00 GMT-0400 (Eastern Daylight Time),
    Sat Aug 15 2020 00:00:00 GMT-0400 (Eastern Daylight Time),
    Sun Aug 16 2020 00:00:00 GMT-0400 (Eastern Daylight Time)
]

我想将所有日期转换为格式MM/DD/YYYY并用它们替换数组。

标签: javascriptdateformatting

解决方案


我想将所有日期转换为格式MM/DD/YYYY并替换数组。

你可以这样做 -

正确的代码 -

let dates_arr = [
  'Thu Aug 13 2020 00:00:00 GMT-0400 (Eastern Daylight Time)',
  'Fri Aug 14 2020 00:00:00 GMT-0400 (Eastern Daylight Time)',
  'Sat Aug 15 2020 00:00:00 GMT-0400 (Eastern Daylight Time)',
  'Sun Aug 16 2020 00:00:00 GMT-0400 (Eastern Daylight Time)'
];
dates_arr = dates_arr.map((element) => {
  var d = new Date(element);
  return `${d.getMonth()+1}/${d.getDate()}/${d.getFullYear()}`;
})
console.log("Dates in the format MM/DD/YYYY : \n", dates_arr);


解释 :

  • 中存在的字符串是dates_arrJavascript 输出日期的默认方式。我们获取这些字符串中的每一个并映射到dates_arrusingmap()函数,并以所需格式简单地返回日期。这将创建一个新数组,其中包含我们需要的日期字符串。

  • 首先,我在代码中使用new Date(element). 构造Date()函数可以接收日期字符串并形成日期对象,我们可以在其上应用 JS 提供的各种内置方法,如下所示。

  • 日期为我们提供了不同的方法

    1. getMonth()返回 0-11 的月份
    2. getDate()它返回从 1-31 的月份中的日期和
    3. getFullYear()它返回日期中的年份。

    我已经使用这些方法将日期字符串转换为所需的格式。还有各种其他方法,您可以在此处阅读更多内容。

  • 另外,如果您不知道,我在 return 语句中使用了模板文字,这只是 ES6 中添加的语法糖。return 语句的作用与 -

    return ((d.getMonth()+1) + '/' + d.getDate() + '/' + d.getFullYear())
    

    但是使用模板文字只是编写此类语句的一种更有效的方式。


推荐阅读