在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 方法 。