toLocaleString
is a built-in JavaScript method used to convert the date and time to a string using the system locales. 🤓🚀
It can be used with the following JavaScript types 💪:
With dates/time objects, toLocaleString
has a syntax like this and returns a string 🔥👉:
dateObject.toLocaleString(locales, options)
locales
: An optional string that specifies a language-specific format. Some valid values are ar-SA (for Arabic), en-US (for US English), hi-IN (for Hindi), jp-JP (for Japanese), etc.options
: An optional object of options. Some valid properties that can be included in this are dateStyle
with values of full
, long
, medium
and short
. Other possible properties are timeStyle
, weekday
, year
, month
, day
, hour
, minute
, second
, etc.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
With numbers, toLocaleString
is used to convert the numbers into a locale-specific number representation. It has syntax something like the following and returns a string 🔥👉:
number.toLocaleString(locales, options)
locales
: An optional string the specifies the locale.options
: An optional object that can contain properties such as localeMatcher
with values lookup
and best fit
. Other valied properties are style
, currency
, useGrouping
, minimumSignificantDigits
, etc.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
With arrays, toLocaleString
is used to convert them into a locale-specific representation. The syntax is as follows and once again a string is returned 🔥👉:
array.toLocaleString(locales, options)
locales
: An optional string specifying the locale.options
: An optional object of the same options available to numbers and dates.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
Note: If locale is omitted or left undefined than the default system locale is used. 🧪
🥓 Now what’s left is to make sure your targeted browsers support the toLocaleString method.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.
Sign up