Datumfönster

Datumfönster är en metod med vilken datum med tvåsiffrigt årtal omvandlas till och från datum med fyrsiffrigt årtal. Året då århundradet ändras kallas för datumfönstrets pivotår . Datumfönster var en av flera tekniker som användes för att lösa år 2000-problemet i äldre datorsystem .

Resonemang

För organisationer och institutioner med data som bara är decennier gammal ansågs en "datumfönster"-lösning vara enklare och mer ekonomisk än de massiva konverteringar och tester som krävs när man konverterar tvåsiffriga år till fyrsiffriga år.

Fönstermetoder

Det finns tre primära metoder som används för att bestämma datumfönstret:

  • Fast pivotår: enklast att koda, fungerar för de flesta affärsdatum.
  • Glidande pivotår: bestäms genom att subtrahera någon konstant från det aktuella året, som vanligtvis används för födelsedatum.
  • Närmaste datum: Tre olika tolkningar (förra århundradet, detta århundrade och nästa århundrade) jämförs med det aktuella datumet, och det närmaste datumet väljs bland de tre.

FOKUS

Information Builders FOCUS " Century Aware"-implementering gjorde det möjligt för användaren att fokusera på fältspecifika och filspecifika inställningar.

Denna flexibilitet gav det bästa av alla tre huvudmekanismerna: En skola kunde ha filen RecentDonors ange ett fält med namnet BirthDate att använda

DEFCENT=19 YRTHRESH=31, omfattar de födda 1931-2030.

De som är födda 2031 kommer sannolikt inte att donera före 2049, då de som är födda 1931 skulle vara 118 år gamla, och det är osannolikt att nuvarande donatorer. DEFCENT och YRTHRESH för en fil som innehåller nuvarande studenter och nyutexaminerade skulle använda olika värden.

Exempel

Nedan är ett enkelt exempel på COBOL-kod med fast datumfönster, som ofta används för att räkna ut århundradet för vanliga affärsdatum.

   
     

     
 OM  KVITTO-DATUM-ÅR  >=  60  FLYTTA  19  TILL  KVITTO-DATUM-ÅRHUNDA  ANNARS  FLYTTA  20  TILL  KITTO-DATUM-ÅRHUNDRAD  SLUT-OM  . 

Ovanstående kod fastställer ett fast datumfönster från 1960 till 2059. Den förutsätter att inget av mottagningsdatumen är före 1960 och bör fungera till 1 januari 2060.

Unix- och Windows -system har miljövariabler som anger det fasta pivotåret för systemet. Varje år efter pivotåret kommer att tillhöra detta århundrade (2000-talet), och alla år före eller lika med pivotåret kommer att tillhöra förra seklet (1900-talet).

Vissa produkter, som Microsoft Excel 95, använde ett fönster för åren 1920–2019 som hade potential att stöta på en fönsterbugg som återkom bara 20 år efter att år 2000-problemet hade åtgärdats.

IBM i använder ett fönster på 1940-2039 för datumformat med ett tvåsiffrigt årtal. I version 7.5 av operativsystemet lades ett alternativ till att använda ett fönster från 1970-2069 istället.

Se även