/
viktorphp
/
front-socket
Обзор
Документация
Войти
/
viktorphp
/
front-socket
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/shared/lib/common/date/convertToISO8601UTC.ts
35 строк
951 B
Viktorphp84
feature-socket: Поправить верстку на странице профиля, исправить сохранение дат.
12 окт 2025, 01:53
12 окт 2025, 01:53
93fb0bf
Код
Авторство
О чём код?
export const isValidDateFormat = (input: string): boolean => { const regex = /^(\d{2})\.(\d{2})\.(\d{4})$/; return regex.test(input); }; export const isValidDate = (year: number, month: number, day: number) => { const date = new Date(year, month - 1, day); return ( date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day ); }; export const convertToISO8601UTC = (dateString: string): string | null => { if (!isValidDateFormat(dateString)) { return null; } // Разбиваем строку на компоненты const [day, month, year] = dateString.split('.').map(Number); if (!isValidDate(year, month, day)) { return null; } // Создаём объект Date const date = new Date(year, month - 1, day); // локальная дата // Получаем ISO-строку const isoString = date.toISOString(); // дата в UTC return isoString; };