God vintertid bugday

I dag er dagen da utviklere over hele landet oppdager artige bugs. Har du opplevd noen slike bugs?

Jeg hadde en i PHP engang som oppstod fordi jeg ikke brukte datetime. Det var så tregt å generere opp datetimes for en graf, så jeg brukte sekunder i stedet. Går fint å bare plusse på 86400 sekunder for hver dag, right? Å neida. Plutselig kom vintertid, og alle grafene mine viste at dagen startet kl 01:00.

En annen artig sak var en graf som viste en plutselig daglig økning i overgangen til vintertid. Det var jo ikke så rart siden denne dagen har en ekstra time.

2 Likes

hehe, jeg kan heldigvis si at jeg hittil ikke har blitt utsatt for denne klassen med bugs. Men hvordan håndterer man dette på en fornuftig måte egentlig? ta grafen din som eksempel? :slight_smile:

1 Like

Når det gjelder det med at det er en ekstra time vet jeg egentlig ikke. Kommer an på hva du skal gjøre med dataene, og hva slags data det er. Mange typer data er relatert til mennesker, så verdiene på natta er ofte lave, og påvirker ikke totalsummen over en dag noe særlig. I tillegg er det jo teknisk sett riktig at det er en ekstra time den dagen, og da blir det flere datapunkter. Eneste gode tipset jeg har for grafer er å inkludere CEST/CET for å skille 02:00CEST og 02:00CET.

Ellers:

  • Bruk et datetime bibliotek når man gjør aritmetikk med dato og tid
  • Hold biblioteket oppdatert. Tidssonedefinisjonene endrer seg
  • Lagre dataene dine i UTC hvis mulig. Da blir problemet bare et visningsproblem. Du får en rekke andre problemer hvis du lagrer dataene i en tidssone
  • Ikke bruk offsets når du skal konvertere til en tidssone. Da mister du overgangen mellom sommertid og vintertid
  • Lag tester som inkluderer overganger
2 Likes