Vex.js — это библиотека, которая значительно облегчает манипуляцию с датами и числами в JavaScript. В отличие от стандартных методов, предлагаемых JavaScript, Vex предоставляет более удобные и лаконичные инструменты для работы с данными. Основной особенностью Vex является поддержка локализации, что делает её отличным выбором для проектов с международной аудиторией. В этой главе рассматриваются основные возможности форматирования дат и чисел с помощью библиотеки Vex.
Для работы с датами в Vex используется встроенная поддержка локализации, которая позволяет изменять формат вывода в зависимости от языка пользователя. Важно отметить, что Vex использует библиотеку Date.js для парсинга и форматирования дат. Она позволяет обрабатывать даты в разных форматах и автоматически подстраивать их под выбранный язык.
Метод для форматирования дат в Vex следующий:
Vex.format.date(date, format, locale);
Date или строка,
представляющая дату.Пример:
let date = new Date('2023-01-25');
let formattedDate = Vex.format.date(date, 'DD/MM/YYYY', 'ru');
console.log(formattedDate); // Выведет: 25/01/2023
Vex поддерживает различные шаблоны для форматирования дат. Примеры шаблонов:
YYYY — год в 4 знака.MM — месяц (от 01 до 12).DD — день месяца (от 01 до 31).dddd — полный день недели (например, понедельник).mmm — сокращенное название месяца (например, янв, фев,
мар).Пример с локализацией:
let date = new Date('2023-01-25');
let formattedDateRU = Vex.format.date(date, 'DD MMMM YYYY', 'ru');
console.log(formattedDateRU); // Выведет: 25 Января 2023
Можно легко подстроить формат даты под разные языки, например, при
изменении локали с ru на en результат
изменится:
let formattedDateEN = Vex.format.date(date, 'DD MMMM YYYY', 'en');
console.log(formattedDateEN); // Выведет: 25 January 2023
Важной функцией библиотеки является форматирование чисел. Vex позволяет легко адаптировать числа под нужды локализации и форматирования. Библиотека поддерживает различные варианты отображения чисел, включая разделение тысяч, округление и настройку точности.
Для форматирования чисел используется метод:
Vex.format.number(number, format, locale);
Пример:
let number = 1234567.89;
let formattedNumber = Vex.format.number(number, '0,0.00', 'ru');
console.log(formattedNumber); // Выведет: 1 234 567,89
Vex позволяет задавать точность числа с помощью формата:
0.00 — два знака после запятой.0,0 — использование разделителя тысяч.0.0000 — четыре знака после запятой.Пример округления:
let number = 12345.6789;
let formattedNumber = Vex.format.number(number, '0,0.00', 'en');
console.log(formattedNumber); // Выведет: 12,345.68
Числа могут отображаться по-разному в зависимости от локали. Например, в некоторых странах для разделения тысяч используется пробел, а в других — запятая. Важно понимать, как работает разделение на тысячи и десятичные знаки в зависимости от языка.
Пример для английской локали:
let number = 1234567.89;
let formattedNumberEN = Vex.format.number(number, '0,0.00', 'en');
console.log(formattedNumberEN); // Выведет: 1,234,567.89
Пример для русской локали:
let formattedNumberRU = Vex.format.number(number, '0,0.00', 'ru');
console.log(formattedNumberRU); // Выведет: 1 234 567,89
Vex также поддерживает форматирование чисел в виде валют. Метод для этого следующий:
Vex.format.currency(number, currency, locale);
Пример для валюты в рублях:
let price = 1500;
let formattedPrice = Vex.format.currency(price, 'RUB', 'ru');
console.log(formattedPrice); // Выведет: 1 500,00 ₽
Пример для валюты в долларах:
let priceUSD = 1500;
let formattedPriceUSD = Vex.format.currency(priceUSD, 'USD', 'en');
console.log(formattedPriceUSD); // Выведет: $1,500.00
Vex поддерживает форматирование чисел в научной нотации, что может быть полезно для отображения очень больших или маленьких чисел.
Пример:
let largeNumber = 123456789;
let formattedLargeNumber = Vex.format.number(largeNumber, '0.0e+0', 'en');
console.log(formattedLargeNumber); // Выведет: 1.2e+8
Vex предоставляет мощные и гибкие инструменты для форматирования дат и чисел, с учетом локализации, точности и валютных предпочтений. Возможности форматирования обеспечивают гибкость и удобство при работе с международными проектами. Библиотека позволяет разработчикам легко подстраивать отображение данных под требования разных культур и стандартов.