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();
}