97 lines
3.8 KiB
TypeScript
97 lines
3.8 KiB
TypeScript
export const formatAmount = (amount: number) => {
|
||
return new Intl.NumberFormat('ru-RU').format(amount);
|
||
};
|
||
|
||
export const formatDate = (date) => {
|
||
const validDate = typeof date === 'string' ? new Date(date) : date;
|
||
// Проверяем, является ли validDate корректной датой
|
||
if (isNaN(validDate.getTime())) {
|
||
return 'Invalid Date'; // Если дата неверная, возвращаем текст ошибки
|
||
}
|
||
|
||
return validDate.toLocaleDateString('ru-RU', {
|
||
day: '2-digit',
|
||
month: '2-digit',
|
||
year: '2-digit',
|
||
});
|
||
}
|
||
|
||
export const formatDateTime = (date) => {
|
||
const validDate = typeof date === 'string' ? new Date(date) : date;
|
||
// Проверяем, является ли validDate корректной датой
|
||
if (isNaN(validDate.getTime())) {
|
||
return 'Invalid Date'; // Если дата неверная, возвращаем текст ошибки
|
||
}
|
||
|
||
return validDate.toLocaleString('ru-RU', {
|
||
day: '2-digit',
|
||
month: '2-digit',
|
||
year: '2-digit',
|
||
hour: '2-digit',
|
||
minute: '2-digit',
|
||
hour12: false, // 24-часовой формат
|
||
});
|
||
}
|
||
|
||
export const getMonthName = (month: number) => {
|
||
switch (month) {
|
||
case 0:
|
||
return 'Январь'
|
||
case 1:
|
||
return 'Февраль'
|
||
case 2:
|
||
return 'Март'
|
||
case 3:
|
||
return 'Апрель'
|
||
case 4:
|
||
return 'Май'
|
||
case 5:
|
||
return 'Июнь'
|
||
case 6:
|
||
return 'Июль'
|
||
case 7:
|
||
return 'Август'
|
||
case 8:
|
||
return 'Сентябрь'
|
||
case 9:
|
||
return 'Октябрь'
|
||
case 10:
|
||
return 'Ноябрь'
|
||
case 11:
|
||
return 'Декабрь'
|
||
}
|
||
}
|
||
|
||
export const getMonthName2 = (monthIndex: number, caseName: "имен" | "род" | "дат" | "вин" | "твор" | "пред") => {
|
||
const months = {
|
||
имен: ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"],
|
||
род: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"],
|
||
дат: ["январю", "февралю", "марту", "апрелю", "маю", "июню", "июлю", "августу", "сентябрю", "октябрю", "ноябрю", "декабрю"],
|
||
вин: ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"],
|
||
твор: ["январём", "февралём", "мартом", "апрелем", "маем", "июнем", "июлем", "августом", "сентябрем", "октябрем", "ноябрём", "декабрём"],
|
||
пред: ["январе", "феврале", "марте", "апреле", "мае", "июне", "июле", "августе", "сентябре", "октябре", "ноябре", "декабре"]
|
||
};
|
||
|
||
return months[caseName][monthIndex];
|
||
}
|
||
|
||
export const generateRandomColors = () => {
|
||
|
||
const r = Math.floor(Math.random() * 256);
|
||
const g = Math.floor(Math.random() * 256);
|
||
const b = Math.floor(Math.random() * 256);
|
||
const a = 0.5; // Прозрачность от 0.00 до 1.00
|
||
|
||
return [r, g, b]
|
||
}
|
||
|
||
export const getRandomColor = () => {
|
||
|
||
}
|
||
|
||
export const toDateOnly = (d : Date): string => {
|
||
const y = d.getFullYear();
|
||
const m = String(d.getMonth() + 1).padStart(2, '0');
|
||
const day = String(d.getDate()).padStart(2, '0');
|
||
return `${y}-${m}-${day}`;
|
||
} |