Den gode behandling af requests med tidszoneangivelse fx Zulutid
Forretningskontekst
I DFDG arbejder vi konsekvent med lokal dansk tid i alle forretningsdomæner.
Eksterne systemer kan sende datoer og klokkeslæt i andre tidszoner, herunder Zulu-tid (UTC). Forretningslogik, regler og afgørelser i DFDG skal dog altid ske ud fra lokal dansk tid.
Dette sikrer:
Entydig forståelse af tidspunkter i forretningsregler.
Korrekt håndtering af skift mellem sommer- og vintertid.
Sammenhæng på tværs af forretningsdomæner og teams.
Grundprincip
Alle tider i DFDG gemmes og behandles som lokal dansk tid.
Retningslinjer
Indgående requests kan indeholde tider i UTC/Zulu eller andre tidszoner.
Alle tider skal konverteres til lokal dansk tid, før forretningslogik udføres.
Forretningsregler må aldrig implementeres direkte på UTC-tidspunkter.
Persistens i DFDG skal ske i lokal dansk tid, medmindre andet er eksplicit aftalt.
Tekniske mekanismer
I Star.Foundation håndteres konvertering af tider i requests centralt (se DateTimeJsonConverter).
Det betyder:
Zulu/UTC-tider i requests konverteres automatisk til lokal dansk tid.
Konverteringen sker før forretningslogik eksekveres.
Forretningslogik modtager altid tider i lokal dansk tid.
Teams skal derfor:
Antage at tider i forretningslogik er lokal dansk tid.
Undgå manuel konvertering i domænelaget.
Beslutning
Dette er en gældende regel for alle forretningsdomæner i DFDG.