Foxpro timestamp data leesbaar maken

Een uit Foxpro ingevoerde tabel bevat een kolom met “timestamps”; het is een getal dat in Foxpro gebruikt wordt om te kijken in welke volgorde de records gemaakt (of gemanipuleerd) werden; een vergelijking tussen de getallen levert een aantal seconden verschil op. Hoe dit getal bruikbaar maken, bv door het naar een leesbare datum om te zetten?

Bv: het getal : 487768695 zou op het moment van bewaren het het aantal seconden voorstellen dat verstreken is sinds Foxpro’s referentietijd, een soort seconde nul in het begin van 1980.

Seconden naar minuten -> uren -> dagen: getal / (60 x 60 x 24)

Hier komen de Visual Basic Compatibility functies goed van pas. Je moet dan eerst bij Project, Properties, tab Components gb.vb aankruisen!

De component gb.vb bevat maar een paar functies, niet toevallig met datumfuncties, en meer bepaald om tijd bij te tellen of af te trekken van een datum:

DateAdd DateDiff Left Mid Right Round Str Val

DateAdd vereist de aard van wat erbij geteld wordt (dag), bij te tellen getal, begindatum:

vb.DateAdd("d", Round(db.fldTimestamp / (3600 * 24), 0), Date(1980, 1,1)

Ik probeerde het eerst met seconden maar daar moet ik iets gemist hebben, want dat gaf niet het juiste resultaat:

txlbUpdated.Text=Str$(vb.DateAdd("s", db.fldTimestamp, Date(1980, 1,1))

om weer te geven op het scherm in een programma.