将数组中的所有日期转换为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(),返回日期中的年份

    我使用了这些方法将日期字符串转换为所需的格式。还有各种其他方法,你可以在这里阅读更多。

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

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

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

var formattedDate = dates_arr.map(date=>dateFormat(date)); 
function dateFormat(date){
const dateTimeFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'short', day: '2-digit' }) 
const [{ value: month },,{ value: day },,{ value: year }] = dateTimeFormat .formatToParts(date )
return `${month}/${day}/${year}`
}

最新更新