function parseTimeInputToIntegerArray(timeString) { const hoursToMinutes = timeString.split(":"); const hours = parseInt(hoursToMinutes[0]); const minutes = parseInt(hoursToMinutes[1]); return [hours, minutes]; } function getDateFromPicker(pickerId) { try { const picker = $(`#${pickerId}`); if(picker.length > 0) { picker.datetimepicker("show"); picker.datetimepicker("hide"); const unixTime = picker.datetimepicker("date"); const targetDate = new Date(unixTime); if(isValidDate(targetDate)) { return targetDate; } } return new Date(); } catch(error) { window.showErrorPopup(error); } finally { return new Date(); } } function getTimeFromPicker(pickerId) { const result = new Date(); try { const picker = $(`#${pickerId}`); if (picker.length > 0) { const timeString = picker.val(); if (timeString.length === 5) { const hours = timeString.substring(0, 2); const minutes = timeString.substring(3); result.setHours(hours); result.setMinutes(minutes); const date = result.getDate(); const month = result.getMonth(); const year = result.getYear(); return new Date(year, month, date, hours, minutes, 0, 0); } } } catch (error) { window.showErrorPopup(error); } finally { return result; } } function dateToShortDateString(date) { try { logInfo2(`Konvertiere Datum zu kurzem Datum: ${date}`); if (isValidDate(date)) { const ddNum = date.getDate(); const mmNum = date.getMonth(); const yyyyNum = date.getFullYear(); let dd = ddNum.toString(); let mm = mmNum.toString(); let yyyy = yyyyNum.toString(); if (ddNum < 10) { dd = `0${dd}`; } if (mmNum < 10) { mm = `0${mm}`; } if (yyyyNum < 10) { yyyy = `000${yyyyNum}`; } else if (yyyyNum < 100) { yyyy = `00${yyyyNum}`; } else if (yyyyNum < 1000) { yyyy = `0${yyyyNum}`; } return dd + "." + mm + "." + yyyy; } } catch (error) { window.showErrorPopup(error); } } function mergeDateAndTime(date, time) { var result = new Date(); try { if (isValidDate(date) && isValidDate(time)) { const day = date.getDate(); const month = date.getMonth(); const year = date.getFullYear(); const hours = time.getHours(); const minutes = time.getMinutes(); result = new Date(year, month, day, hours, minutes, 0, 0); } } catch (error) { window.showErrorPopup(error); } finally { return result; } } // ToDo: Löst Exception aus bei einem Wert von z.B. "06.02.2023". function isValidDate(date) { return Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); } function ddMMyyyyToyyyyMMdd(dateString) { if (dateString === undefined || dateString === null || typeof dateString != "string" || dateString.length !== 10) { return null; } const dayMonthYear = dateString.split("."); if(dayMonthYear.length !== 3) { return null; } const dd = dayMonthYear[0]; const mm = dayMonthYear[1]; const yyyy = dayMonthYear[2]; return `${yyyy}-${mm}-${dd}`; }