-
-
Zwei Datum berechnen
Hallo
Meine Platine hat ein RTC den DS1307 und ich möchte ein durch ein String gelierter Datum vergleichen und auswerten.
Beispiel: das Datum am DS1307
10-06-09
gelieferte Datum 01-07-09
Was ich benötige ist zu signalisieren sobald das DS1307 Datum grösser als die gelieferte Datum ist.
Weiss jemand ob Bascom schon so eine Funktion fertig hat.
Gruss
Sato
-
Erfahrener Benutzer
Roboter Genie
Wenn du folgende Zeile einfügst:
Config Date = Dmy , Separator = -
dann ist dein angegebenes Format das Datumsformat im Programm.
Nun kannst du die SysDay(str) Funktion benutzen, um die beiden Datumswerte in ein fortlaufendes Systemdatum umzuwandeln. Diese kannst du dann vergleichen
Config Clock = Soft
Config Date = Dmy , Separator = -
Dim Datum1 As Long , Datum2 As Long , Datum3 As Long
Dim Strdate As String * 10
Strdate = "01-05-09"
Datum1 = Sysday(strdate)
Strdate = "02-04-09"
Datum2 = Sysday(strdate)
Strdate = "01-05-10"
Datum3 = Sysday(strdate )
If Datum1 > Datum2 Then Print "test1"
If Datum2 > Datum3 Then Print "test2"
Gruß
Rolf
-
Hallo Rolf
Danke, genau das habe ich gesucht.
Config Clock = User '1307 RTC clock
Config Date = Dmy , Separator = -
Meine Platine wird wie gesagt mit DS1307 ausgestattet sein. Es ist noch nicht fertig, darum kann ich noch nicht testen.
Will hoffen das ich so auch den Datum von den RTC einlesen kan.
Strdate = Date$
Data_system = Sysday(strdate)
Gruss
Sato
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Sato,
beim eingelesenen Systemdatum dürfte sogar
Data_system = Sysday()
funktionieren. Date$ ist ja bereits ein String im Zeitformat und Sysday() liefert den Wert von Date$ zurück.
Ob das bei Clock = User auch funktioniert, habe ich noch nicht ausprobiert. Aber ich verwende in Zusammenhang mit einem DS1307 auch andere Zeitfunktionen (z. B. SecOfDay) mit Time$ und das funktioniert problemlos.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen