在JavaScript中使用带有数字、数组或日期的toLocaleString
来自菜鸟教程
toLocaleString
是一种内置的 JavaScript 方法,用于使用系统语言环境将日期和时间转换为字符串。 🤓🚀
它可以与以下 JavaScript 类型一起使用💪:
- 日期/时间
- 数字
- 对象
- 数组
带有日期和时间的 toLocaleString 🚀
对于日期/时间对象,toLocaleString
有这样的语法并返回一个字符串🔥👉:
dateObject.toLocaleString(locales, options)
locales
:指定语言特定格式的可选字符串。 一些有效值为 ar-SA(用于阿拉伯语)、en-US(用于美国英语)、hi-IN(用于印地语)、 jp-JP(日语)等options
:选项的可选对象。 可以包含在其中的一些有效属性是dateStyle
,其值为full
、long
、medium
和short
。 其他可能的属性是timeStyle
、weekday
、year
、month
、day
、hour
、[ 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
之类的属性,其值为lookup
和best fit
。 其他有效属性为style
、currency
、useGrouping
、minimumSignificantDigits
等。
例子😍
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 方法 。