首页  >  问答  >  正文

如何在 JavaScript 中格式化日期?

<p>如何将 Javascript <code>Date</code> 对象格式化为字符串? (最好采用以下格式:<code>10-Aug-2010</code>)</p>
P粉914731066P粉914731066445 天前521

全部回复(2)我来回复

  • P粉253800312

    P粉2538003122023-08-24 09:32:38

    如果您需要对格式的控制比当前接受的答案稍微少一些,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. “ja-JP”:日语

    您可以使用更多语言选项。

    例如

    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粉457445858

    P粉4574458582023-08-24 00:10:33

    对于自定义分隔的日期格式,您必须提取日期(或时间) 来自 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
  • 取消回复