簡體   English   中英

將數組中的所有日期轉換為格式 MM/DD/YYYY javascript

[英]Convert all dates in an array to format 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 將 output 日期的默認方式。 我們使用這些字符串中的每一個並使用map() function 映射到dates_arr並簡單地以所需格式返回日期。 這將創建一個新數組,其中包含我們需要的日期字符串。

  • 首先,我使用new Date(element)在代碼中創建日期 object 。 Date()構造函數可以接受日期字符串並形成日期 object ,我們可以在其上應用 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}`
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM