Scanner: neue Anzeigen zuerst abfragen, Uhrzeiten korrekt anzeigen
Seit dem Wegfall der Altersgrenze lieferten BA und StepStone nur die relevantesten Anzeigen aller Jahre - fünf Läufe lang 0 neue Treffer. - BA: erst veroeffentlichtseit=7 (bis 200), dann ohne Grenze (bis 200) - StepStone: sort=2 Seiten 1-2 plus Relevanz Seite 1 (action=sort_publish hatte keine Wirkung) - Dashboard liest DB-Zeitstempel als UTC (vorher 2 h zu früh) Erster Lauf danach: 481 statt 298 Anzeigen, 40 neue Treffer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0aa8f17b28
commit
651ad2b954
@@ -52,9 +52,17 @@ export const ScoreBox: React.FC<{ score: number }> = ({ score }) => {
|
||||
);
|
||||
};
|
||||
|
||||
/*
|
||||
* Zeitstempel aus der Datenbank ("2026-09-29 11:18:31") sind UTC - Server und
|
||||
* MariaDB laufen in UTC. Ohne das "Z" las der Browser sie als Ortszeit und
|
||||
* zeigte Funde zwei Stunden zu früh an (13:18 erschien als 11:18).
|
||||
*/
|
||||
const parseDbDate = (value: string) =>
|
||||
new Date(/[zZ]|[+-]\d\d:?\d\d$/.test(value) ? value : `${value.replace(' ', 'T')}Z`);
|
||||
|
||||
export const formatDateTime = (value: string | null) => {
|
||||
if (!value) return '–';
|
||||
const date = new Date(value.includes('T') ? value : value.replace(' ', 'T'));
|
||||
const date = parseDbDate(value);
|
||||
if (Number.isNaN(date.getTime())) return '–';
|
||||
return date.toLocaleString('de-DE', {
|
||||
day: '2-digit',
|
||||
@@ -68,7 +76,7 @@ export const formatDateTime = (value: string | null) => {
|
||||
/** "vor 3 Tagen" - fürs Alter einer Anzeige genauer als ein Datum. */
|
||||
export const formatAge = (value: string | null) => {
|
||||
if (!value) return 'unbekannt';
|
||||
const date = new Date(value.includes('T') ? value : value.replace(' ', 'T'));
|
||||
const date = parseDbDate(value);
|
||||
const days = Math.floor((Date.now() - date.getTime()) / 86_400_000);
|
||||
if (Number.isNaN(days)) return 'unbekannt';
|
||||
if (days <= 0) return 'heute';
|
||||
|
||||
Reference in New Issue
Block a user