如何使用 JS 的 Intl 类实现货币/时间单位国际化?

Intl 是 JavaScript 中用于处理国际化的内置对象,提供了日期、时间、数字、货币等格式化的功能。它基于 ECMAScript 国际化 API,支持多语言和地区设置,能够帮助我们轻松实现本地化需求。本文将详细介绍 Intl 的核心功能、使用场景以及一些需要注意的事项。


Intl 的核心功能

Intl 提供了多个构造函数,用于处理不同的国际化需求:

  • Intl.DateTimeFormat:用于格式化日期和时间。
  • Intl.NumberFormat:用于格式化数字、货币和百分比。
  • Intl.Collator:用于字符串排序和比较。
  • Intl.ListFormat:用于格式化列表(如 “A, B, and C”)。
  • Intl.RelativeTimeFormat:用于格式化相对时间(如 “2 days ago”)。

使用场景与示例

格式化日期和时间(Intl.DateTimeFormat

场景:我们需要根据用户的语言和地区显示本地化的日期和时间。

const date = new Date();
const formatter = new Intl.DateTimeFormat('zh-CN', {
   
    
    
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  hour12: false
});

console.log(formatter.format(date)); // "2023年10月5日 14:30:45"
  • locales 参数支持多种语言和地区,比如 'en-US''ja-JP'
  • options 参数可以灵活配置日期和时间的显示格式,比如是否使用 12 小时制。

格式化数字和货币(Intl.NumberFormat

场景:我们需要根据用户的地区显示本地化的数字和货币格式。

 

猜你喜欢

转载自blog.csdn.net/weixin_47077674/article/details/145366312
今日推荐