迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中将完整日期转换为短日期

作者:迹忆客 最近更新:2022/12/01 浏览次数:

使用 toLocaleDateString() 方法将完整日期转换为短日期。 该方法将语言环境和选项对象作为参数,并根据提供的语言环境和选项返回表示日期的字符串。

const date = new Date('2022-09-24');

// 👇️ "09/24/2022"
console.log(
  date.toLocaleDateString('en-US', {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
  }),
);

toLocaleDateString() 方法根据提供的参数返回日期的字符串表示形式。

我们传递给该方法的两个参数是:

  • locales - 带有 BCP 47 语言标记的字符串或此类字符串的数组。 我们可以使用任何可用的语言环境,例如 墨西哥为 es-MX,加拿大为 en-CA。 如果您需要有关此参数的更多信息,请查看 MDN 文档。
  • options - 我们可以在其中调整格式样式。

上面的示例使用 en-US 区域设置获取短日期。 但是,我们可以通过为 locales 参数传递一个空数组来使用访问者的默认区域设置。

// 👇️ use visitor's default locale
console.log(
  date.toLocaleDateString([], {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
  }),
);

上面的示例使用了访问者的默认语言环境。 换句话说,短日期的格式会根据用户的首选语言环境而有所不同。

年份属性可以设置为:

  • 数字 - 例如 2022年
  • 2 位数 - 例如 22

month 属性可以设置为:

  • 数字 - 例如 9
  • 2 位数 - 例如 09
  • long - 例如 九月
  • short - 例如 九月
  • narrow - 例如 S

日属性可以设置为:

  • 数字 - 例如 4个
  • 2 位数 - 例如 04

根据我们传递给函数的语言环境,短日期的格式可能会有所不同。

如果日期或月份的值小于 10,则某些语言环境会添加前导零,而其他语言环境则不会。

将月份和日期属性设置为 2 位数字使我们能够始终产生一致的结果。

如果要显示工作日的名称,还可以设置 weekday 属性。

// 👇️ "Sat, 09/24/2022"
console.log(
  date.toLocaleDateString('en-US', {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    weekday: 'short',
  }),
);

weekday 属性可以设置为:

  • long - 例如 周四
  • short - 例如 星期四
  • narrow - 例如 吨

当月份使用窄格式时,对于某些语言环境,两个月可能具有相同的窄格式,例如 七月和六月都用J表示。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便