首頁  >  問答  >  主體

JavaScript中如何格式化日期?

如何將 Javascript Date 物件格式化為字串? (格式最好:10-Aug-2010

P粉894008490P粉894008490398 天前606

全部回覆(2)我來回復

  • P粉611456309

    P粉6114563092023-10-09 11:16:28

    如果您需要對格式的控制比目前接受的答案稍微少一些,Date#toLocaleDateString 可用於建立標準的特定於區域設定的渲染。 localeoptions 參數讓應用程式指定應使用格式約定的語言,並允許對呈現進行一些自訂。

    選項關鍵範例:

    1. 日期:
      當天的代表。
      可能的值為「數字」、「2 位數字」。
    2. 工作日:
      工作日的表示。
      可能的值為「窄」、「短」、「長」。
    3. 年份:
      年度代表性。
      可能的值為「數字」、「2 位數字」。
    4. 月份:
      月份的表示。
      可能的值為「數字」、「2 位數字」、「窄」、「短」、「長」。
    5. 小時:
      小時的表示。
      可能的值為「數字」、「2 位數字」。
    6. 分鐘: 分鐘的表示。
      可能的值為「數字」、「2 位數字」。
    7. 第二個:
      第二個的代表。
      可能的值為「數字」、2 位數字。
    8. 12 點:
      # 時間格式的表示。
      接受布林值 true 或 false

    所有這些鍵都是可選的。您可以根據您的要求更改選項值的數量,這也將反映每個日期時間術語的存在。

    注意:如果您只想配置內容選項,但仍使用目前區域設置,則為第一個參數傳遞 null 將導致錯誤。請使用 undefined 來代替。

    對於不同的語言:

    1. “en-US”:美式英文
    2. "en-GB": For British English
    3. #“hi-IN”:
    4. 印地語
    5. “ja-JP”:
    6. 日文

    您可以使用更多語言選項。

    例如

    var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
    var today  = new Date();
    
    console.log(today.toLocaleDateString("en-US")); // 9/17/2016
    console.log(today.toLocaleDateString("en-US", options)); // Saturday, September 17, 2016
    console.log(today.toLocaleDateString("hi-IN", options)); // शनिवार, 17 सितंबर 2016

    您也可以使用 toLocaleString()

    方法來達到相同目的。唯一的區別是這個函數提供了當您不傳遞任何選項時的時間。

    // Example
    9/17/2016, 1:21:34 PM

    參考文獻:# ###

    回覆
    0
  • P粉154228483

    P粉1542284832023-10-09 11:07:02

    對於自訂分隔的日期格式,您必須提取日期(或時間) 來自 DateTimeFormat 物件的元件(即的一部分 ECMAScript 國際化 API),然後手動建立字串 與您想要的分隔符號。

    為此,您可以使用 DateTimeFormat# formatToParts。你可以 解構數組,但這並不理想,因為數組輸出取決於 區域設定:

    { // example 1
       let formatter = new Intl.DateTimeFormat('en');
       let example = formatter.formatToParts();
       console.log(example);
    }
    { // example 2
       let formatter = new Intl.DateTimeFormat('hi');
       let example = formatter.formatToParts();
       console.log(example);
    }

    回覆
    0
  • 取消回覆