将数组中的所有日期转换为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格式,并用它们替换数组。

解决方法

我想将所有日期转换为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_arr中存在的字符串是Javascript输出日期的默认方式。我们将使用每个字符串,并使用map()函数在dates_arr上进行映射,并简单地以所需格式返回日期。这将创建一个带有日期字符串的新数组,格式为我们需要的日期。

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

  • 日期提供给我们的方法有多种

    1. getMonth()会返回0-11的月份
    2. getDate()会返回从1-31开始的月份中的某天,并且
    3. getFullYear(),返回日期中的年份。

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

  • 此外,如果您不知道,我在return语句中使用template literals,这只是ES6中添加的语法糖。 return语句与-

    的作用相同
    return ((d.getMonth()+1) + '/' + d.getDate() + '/' + d.getFullYear())
    

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

,
-I