Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

Spookverhaal

18 augustus 2005 - 22:003 minuten leestijdOpinieSoftware & Development
Sije de Haan
Sije de Haan

“Het lijkt me meer een spookverhaal”, reageert Sije de Haan op de vraag of het spookuurprobleem bestaat. “Het lijkt niet de moeite waard daar een aparte website voor op te richten. Waar ik vandaan kom vallen dergelijke programmeerpraktijken onder de categorie beginnersfouten.”

Bestaat het spookuurprobleem of is het een marketingstunt, vraagt ‘Is het spookuur spookhandel?’ (Computable, 5 augustus 2005). Het spookuurprobleem speelt volgens sommige deskundigen bij programma’s die datum en tijd afzonderlijk ophalen. Daardoor zouden verwerkingsfouten kunnen ontstaan; de verwerking lijkt dan 24 uur eerder of later te zijn uitgevoerd dan hij is gedaan.
Datum en tijd moeten helemaal niet apart opgehaald worden. Het besturingssysteem en de programmeertaal (zouden) moeten voorzien in een gecombineerde functie voor het ophalen van datum en tijd. In Visual C++ bijvoorbeeld kun je de Windows-api-functie GetLocalTime gebruiken. Dan krijg je de datum en tijd tegelijk (overigens in honderdsten van seconden). Nu kun je zeggen dat Windows in die functie hetzelfde probleem heeft, maar dat is niet zo.

Zomertijd

Ten eerste is het een ‘atomair’ stukje software. Tijdens de uitvoering van de functie besteedt de cpu geen tijd aan andere taken in ‘multitasking’-omgevingen. Verder worden datum en tijd in de computer niet continu bijgewerkt, maar slechts een paar keer per seconde aan de hand van ‘clockticks’ die worden opgewekt door een ‘interrupt’. Genoemde functie stelt die onderbrekingen eventjes (een paar microseconden) uit, waardoor het probleem niet optreedt.
Als de gebruikte programmeertaal niet voorziet in het gecombineerd ophalen van datum en tijd is er een simpele oplossing: vraag eerst de tijd op, daarna de datum en daarna nog eens de tijd. Is de tweede tijd lager dan de eerste (bijvoorbeeld eerst 23:59:59 en daarna 00:00:01), dan is er een datumovergang geweest. Gebruik dan de tweede tijd en vraag nogmaals de datum op, omdat niet zeker is of de eerste datum bij de eerste of de tweede tijd hoort. Is de tweede tijd hoger dan de eerste, dan weet je zeker dat datum en tijd bij elkaar horen. Als je een trage computer hebt, kun je een en ander nog optimaliseren door de tweede tijd alleen maar op te vragen als het eerste tijdstip na bijvoorbeeld 23:59:00 ligt.
Overigens kunnen er twaalf uur ’s nachts wel meer dingen fout gaan. Ik heb ooit een stukje software gemaakt wat niet langer gebruikte tijdelijke bestanden na een dag verwijderde. Het programma crashte vaak om middernacht. Wat had ik fout gedaan? Ik keek naar de datum van de bestanden. Na een datumovergang probeerde het programma soms bestanden te verwijderen die nog maar een paar seconden oud waren en meestal nog in gebruik waren. Je moet dan dus naar de ouderdom in uren of minuten kijken en niet naar de datum.
Verder zijn er problemen met de zomer- en wintertijd. Bij het vastleggen van gebeurtenissen moet je in de uren van omschakeling weten of het zomer- of wintertijd is. Als je de klok in het najaar een uur terug zet, wordt het twee keer 03:00, de eerste keer in de zomertijd en de tweede keer in de wintertijd. Besturingssystemen die niet kunnen omgaan met zomer- en wintertijd hebben dus een probleem. Dat kan de applicatie overigens wel omzeilen.
 
Sije de Haan

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

    Hoe zet je in vier dagen tijd een gevalideerd prototype neer met Design Sprints?

    Computable.nl

    Resultaatgericht Samenwerken (RGS).

    RGS is een gestructureerde methode die vastgoedprofessionals direct ondersteunt bij kwaliteitsverbetering, kostenefficiëntie en verduurzaming.

    Computable.nl

    De principes van cloud-native techniek

    Cloud-native technologieën voegen flexibiliteit, schaalbaarheid en beveiliging toe en verlagen de operationele kosten voor de IT-omgeving. Hoe dragen Kubernetes, KEDA en AKS hieraan bij?

    Meer lezen

    ActueelData & AI

    Kort: Esri simuleert extreem weer, update over de Ai-fabriek, omkoping Coinbase (en nog meer)

    Remko Reinders alegemeen directeur Salesforce Nederland
    AchtergrondData & AI

    Salesforce NL: Technologie ai-agents is volwassen, nu komt het op durf aan

    ActueelOverheid

    Kort: Nieuw screeningsysteem IND, IFS in zee met TomTom, Navara naar BBTG en de grote oversteek voor TMA

    AchtergrondData & AI

    ILT heeft nieuw taxitoezichtsysteem op de rit

    ActueelCloud & Infrastructuur

    Kort: WBSO populair bij ict-bedrijven, 6 cloudtrends Gartner, EU-alternatief voor CVE-database VS

    ActueelData & AI

    Lleverage ontvangt drie miljoen voor ‘vibe automation’

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs