在JavaScript中使用带有数字、数组或日期的toLocaleString

来自菜鸟教程
跳转至:导航、​搜索

toLocaleString 是一种内置的 JavaScript 方法,用于使用系统语言环境将日期和时间转换为字符串。 🤓🚀

它可以与以下 JavaScript 类型一起使用💪:

  • 日期/时间
  • 数字
  • 对象
  • 数组

带有日期和时间的 toLocaleString 🚀

对于日期/时间对象,toLocaleString 有这样的语法并返回一个字符串🔥👉:

dateObject.toLocaleString(locales, options)
  • locales:指定语言特定格式的可选字符串。 一些有效值为 ar-SA(用于阿拉伯语)、en-US(用于美国英语)、hi-IN(用于印地语)、 jp-JP(日语)等
  • options:选项的可选对象。 可以包含在其中的一些有效属性是 dateStyle,其值为 fulllongmediumshort。 其他可能的属性是 timeStyleweekdayyearmonthdayhour、[ X105X]、second

例子😍

const date = new Date();

console.log(date.toLocaleString(`en-US`)); 
// 11/10/2019, 4:32:44 PM

console.log(date.toLocaleString(`hi-IN`));
// 10/11/2019, 4:32:44 pm

console.log(date.toLocaleString(`fr-CH`));
// 10.11.2019 à 16:32:44

const options = {
  weekday: 'long',
  era: 'long'
}

console.log(date.toLocaleString(`en-US`, options)); 
// Sunday Anno Domini

console.log(date.toLocaleString(`hi-IN`, options));
// ईसवी सन रविवार

console.log(date.toLocaleString(`fr-CH`, options));
// après Jésus-Christ dimanche

带数字的 toLocaleString 🚀

对于数字,toLocaleString 用于将数字转换为特定于语言环境的数字表示。 它具有类似于以下的语法并返回 string 🔥👉:

number.toLocaleString(locales, options)
  • locales:可选字符串,指定区域设置。
  • options:一个可选对象,可以包含诸如 localeMatcher 之类的属性,其值为 lookupbest fit。 其他有效属性为 stylecurrencyuseGroupingminimumSignificantDigits 等。

例子😍

const number = 12345.678;

console.log(number.toLocaleString('en-US')); 
// 12,345.678

console.log(number.toLocaleString('fr-FR')); 
// 12 345,678

console.log(number.toLocaleString('en-US', {
  style: 'currency',
  currency: 'USD'   // With currency, the currency code is also required
}));  // $12,345.68

console.log(number.toLocaleString('hi-IN', {
  style: 'currency',
  currency: 'INR'
}));  // ₹12,345.68

console.log(number.toLocaleString('en-US', {
  style: 'currency',
  currency: 'USD',
  maximumSignificantDigits: 2
}));  // $12,000

带有数组的 toLocaleString 🚀

对于数组,toLocaleString 用于将它们转换为特定于语言环境的表示。 语法如下,再次返回 string 🔥👉:

array.toLocaleString(locales, options)
  • locales:指定区域设置的可选字符串。
  • options:可用于数字和日期的相同选项的可选对象。

例子😍

const arr = [12345678, new Date(), "alligators"];
console.log(arr.toLocaleString(`fr-FR`,{
  style: 'currency',
  currency: 'EUR',
  era: 'long'
}));

//  12 345 678,00 €,10 11 2019 après Jésus-Christ à 18:30:03,alligators

const arr2 = [12345678, new Date(), "alligators"];
console.log(arr.toLocaleString(`en-US`,{
  style: 'currency',
  currency: 'USD',
  era: 'long'
}));

//  $12,345,678.00,11 10, 2019 Anno Domini, 6:31:56 PM,alligators

注意: 如果区域设置被省略或未定义,则使用默认系统区域设置。 🧪



🥓 现在剩下的就是确保您的目标浏览器 支持 toLocaleString 方法