Zeiten nochmal verbessert

This commit is contained in:
Eskimue
2026-04-11 14:05:54 +02:00
parent 07c6d701c2
commit 5d166ab6b8
3 changed files with 20 additions and 12 deletions
+13 -8
View File
@@ -1021,7 +1021,7 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
});
const parseUtcDateTime = function (value) {
const match = String(value).trim().match(/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2}))?)?$/);
const match = String(value).trim().match(/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2})(?:[.,](\d{1,3}))?)?)?$/);
if (!match) {
return null;
}
@@ -1032,7 +1032,8 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
const hour = Number(match[4] || '0');
const minute = Number(match[5] || '0');
const second = Number(match[6] || '0');
const date = new Date(Date.UTC(year, month - 1, day, hour, minute, second));
const millisecond = Number((match[7] || '0').padEnd(3, '0'));
const date = new Date(Date.UTC(year, month - 1, day, hour, minute, second, millisecond));
return Number.isNaN(date.getTime()) ? null : date;
};
@@ -1054,7 +1055,7 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
date.getUTCSeconds().toString().padStart(2, '0')
];
return parts.join('-') + ' ' + timeParts.join(':');
return parts.join('-') + ' ' + timeParts.join(':') + '.' + date.getUTCMilliseconds().toString().padStart(3, '0');
};
const formatUtcDateTimeGerman = function (date) {
@@ -1074,11 +1075,11 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
date.getUTCSeconds().toString().padStart(2, '0')
];
return parts.join('.') + ' ' + timeParts.join(':');
return parts.join('.') + ' ' + timeParts.join(':') + ',' + date.getUTCMilliseconds().toString().padStart(3, '0');
};
const parseUtcDateTimeGerman = function (value) {
const match = String(value).trim().match(/^(\d{2})\.(\d{2})\.(\d{4})(?:[ ](\d{2}):(\d{2})(?::(\d{2}))?)?$/);
const match = String(value).trim().match(/^(\d{2})\.(\d{2})\.(\d{4})(?:[ ](\d{2}):(\d{2})(?::(\d{2})(?:[.,](\d{1,3}))?)?)?$/);
if (!match) {
return null;
}
@@ -1089,7 +1090,8 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
const hour = Number(match[4] || '0');
const minute = Number(match[5] || '0');
const second = Number(match[6] || '0');
const date = new Date(Date.UTC(year, month - 1, day, hour, minute, second));
const millisecond = Number((match[7] || '0').padEnd(3, '0'));
const date = new Date(Date.UTC(year, month - 1, day, hour, minute, second, millisecond));
return Number.isNaN(date.getTime()) ? null : date;
};
@@ -1101,6 +1103,9 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
isSyncingTimePicker = true;
timeUtcPicker.setDate(date, false);
if (timeUtcPicker.altInput) {
timeUtcPicker.altInput.value = formatUtcDateTimeGerman(date);
}
isSyncingTimePicker = false;
};
@@ -1138,14 +1143,14 @@ $timeLocationLongitude = isset($currentLocation['longitude']) && is_numeric($cur
updateTimeFrom('utc');
if (instance.altInput) {
instance.altInput.setAttribute('placeholder', 'TT.MM.JJJJ HH:MM:SS');
instance.altInput.setAttribute('placeholder', 'TT.MM.JJJJ HH:MM:SS,mmm');
}
}
});
if (timeUtcPicker.altInput) {
timeUtcPicker.altInput.classList.add('astro-conv-input');
timeUtcPicker.altInput.setAttribute('placeholder', 'TT.MM.JJJJ HH:MM:SS');
timeUtcPicker.altInput.setAttribute('placeholder', 'TT.MM.JJJJ HH:MM:SS,mmm');
}
}