FileMaker - Tip 137

 

Klik op om terug te keren naar het selectiemenu.

Tip 137 - Hoe werkt FileMaker met datums?

Iemand stelt tamelijk ongerust de volgende vraag: "Klopt het dat de Date-functie zich anders gedraagt op Nederlandse systemen dan op Engelstalige?"

In de UK-versie vraagt Date eerst de maand:

Date(month,day,year)

Volgens de vraagsteller zou het in de handleiding van de Nederlandstalige Filemaker

Date(dag;maand;jaar)

zijn.

Als dat klopt, dan zitten we met een overdraagbaarheidsprobleem wanneer de dag, de maand en het jaar in aparte velden ingegeven werden, bijvoorbeeld in de formule

Date(Dagveld;Maandveld;Jaarveld)

Als we in de Nederlandse versie 31 intikken in het veld Dag, dan zou dat ingelezen in een UK-systeem de 31e maand geven, en dat geeft dan juli drie jaar later (31 is immers 12 + 12 + 7 en de zevende maand is juli)!

 

Antwoord:

De vraagsteller heeft correct gelezen, maar de vertalers van zijn handleiding zijn iets te ijverig geweest door zelf de volgorde van month, day, year om te keren in het Nederlands. FileMaker had het zo echter niet bedoeld: om er zeker van te zijn dat de functie Date steeds correct wordt geïnterpreteerd, is de volgorde van de parameters altijd maand; dag; jaar, ongeacht de ingestelde datumnotaties in FileMaker of het systeem.

 

Als toemaatje nog dit: FileMaker onthoudt een datum als een getal, namelijk het aantal dagen verlopen sinds een vast beginpunt. Dat beginpunt ligt voor Windows op 1 januari 1900. Dag 31 is dus 31 januari 1900 en dag 32 is 1 februari 1900. Het systeem werkt ook met decimalen: dag 32,5 is 1 februari 1900 om 12 u 's middags en dag 32,75 is 1 februari 1900 om zes uur 's avonds. Natuurlijk gebeurt dit allemaal op de achtergrond. FileMaker toont ons wel dit getal indien we een datum als Number laten zien. Het werken met dit systeem gebeurt voor ons gelukkig op de achtergrond en we merken niet eens dat er vier verschillende systemen in omloop zijn (dank aan Peter):

- Windows: telling vanaf 1-1-1900

- MacOS tot 9: telling vanaf 1-1-1904 (er doen verhalen de ronde over de reden*)

- MacOS X: telling vanaf 1-1-1970 (zoals bij Unix)

- FileMaker Pro: telling vanaf 1-1-0001

Met dank aan Murtje en Peter Wagemans.

 

Zie ook Tip 80, Tip 112, en Tip 145.


* Volgens Andree Hollander omdat vanaf 1904 er regelmaat is met de schrikkeljaren. Microsoft zou daarmee een probleem gehad hebben door 1900 als schrikkeljaar te beschouwen (wat het niet is).

 
avd@avd-ci.be - contactformulier