From 3a866762a5ee0e52dcbf71c2f8e1fdab7f13efcb Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Thu, 19 Mar 2026 16:31:43 +0500 Subject: [PATCH] formatDateTimereports --- public/reports.js | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/public/reports.js b/public/reports.js index f2c49b0..5dbd66e 100644 --- a/public/reports.js +++ b/public/reports.js @@ -236,15 +236,29 @@ function renderReport(data) { ${item.task_id} ${escapeHtml(item.task_title)} - ${formatDateTime(item.due_date) || '—'} + ${formatDateTimereports(item.due_date) || '—'} ${escapeHtml(item.user_name || 'Неизвестно')} ${escapeHtml(item.creator_name || 'Неизвестно')} ${statusLabels[item.displayStatus] || item.displayStatus} - ${formatDateTime(item.status_updated_at) || '—'} + ${formatDateTimereports(item.status_updated_at) || '—'} `).join(''); } +function formatDateTimereports(dateTimeString) { + if (!dateTimeString) return ''; + let date; + // Если строка в формате SQLite (без часового пояса) + if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(dateTimeString)) { + // Добавляем 'Z', чтобы интерпретировать как UTC + date = new Date(dateTimeString.replace(' ', 'T') + 'Z'); + } else { + // Стандартная дата с часовым поясом (например, с Z или смещением) + date = new Date(dateTimeString); + } + + return date.toLocaleString('ru-RU'); +} // Вспомогательные функции function truncateText(text, maxLen) { if (!text) return ''; @@ -261,15 +275,6 @@ function escapeHtml(unsafe) { .replace(/'/g, '''); } -function formatDateTime(dateStr) { - if (!dateStr) return ''; - const d = new Date(dateStr); - return d.toLocaleString('ru-RU', { - day: '2-digit', month: '2-digit', year: 'numeric', - hour: '2-digit', minute: '2-digit' - }); -} - function printReport() { window.print(); }