Seite 1 von 1
ParseDate() vor 1970
Verfasst: 07.06.2017 12:25
von Angelo
Ich habe eine Geburtstagsliste und möchte aus den Geburtsdaten (z. B. 13.02.1954) das Lebensalter in Jahren zum aktuellen Zeitpunkt errechnen. Ich bin auf die ParseDate()-Funktion gestoßen,
die zwar funktioniert, wenn das Geburtsdatum nach dem 01.01.1970 liegt. Aber wie berechne ich bei Geburtsdaten vor 1970 das Lebensalter?
Re: ParseDate() vor 1970
Verfasst: 07.06.2017 12:51
von Kiffi
->
Date64 - Unixtime 64bit
; == Windows ==
; >> Minimum: 01.01. 1601 00:00:00
; >> Maximum: 31.12.30827 23:59:59
; == Linux ==
; 32-Bit:
; >> Minimum: 01.01.1902 00:00:00
; >> Maximum: 18.01.2038 23:59:59
; 64-Bit:
; >> Minimum: 01.01. 0000 00:00:00
; >> Maximum: 31.12.999999999 23:59:59
; == MacOS ==
; wie bei Linux?
Grüße ... Peter
Re: ParseDate() vor 1970
Verfasst: 07.06.2017 12:52
von Kurzer
Re: ParseDate() vor 1970
Verfasst: 07.06.2017 13:08
von NicTheQuick
Oder wenn es nur um die Aufgabe der Altersbestimmung geht, reicht auch ein bisschen Stringfield-Magic.
Code: Alles auswählen
Procedure.i alter(datum.s)
Protected tag.i = Val(StringField(datum, 1, "."))
Protected monat.i = Val(StringField(datum, 2, "."))
Protected jahr.i = Val(StringField(datum, 3, "."))
Protected alter.i = Year(Date()) - jahr
If monat > Month(Date()) Or (monat = Month(Date()) And tag > Day(Date()))
alter - 1
EndIf
ProcedureReturn alter
EndProcedure
Debug alter("7.6.1987")
Debug alter("1.5.1905")
Re: ParseDate() vor 1970
Verfasst: 07.06.2017 13:10
von RSBasic
Falls du in deiner Anwendung auch einen Kalender (CalendarGadget()) hast und du dort auch vor 1970 abfragen möchtest:
http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Re: ParseDate() vor 1970
Verfasst: 07.06.2017 13:38
von Angelo
Super! Vielen Dank für Eure Antworten - haben mir enorm weitergeholfen.