Systemzeit ausgeben

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Systemzeit ausgeben

Beitrag von Benz »

Hi ich würde gerne einfach nur die Systemzeit in eine Variable schreiben bzw. mit einem Label oder so ausgeben. Wie bekomme ich die ? :-)
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Martin Altmann »

Moin,
Time()

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

ok :D dann hab ich wohl was falsch gemacht, das hat iwie nicht funktioniert. Egal ich veruschs nochmals. Danke
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

Gibt es diese Funktion auch für das Datum ? date() funktioniert ja nicht oder?
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

Hi,

und warum sollte date() nicht funktionieren ?
Oder brauchst du nur einen String ;-)

Code: Alles auswählen

set date to german
? dtoc(date()) => z.b. "21.01.2011"
? dtos(date()) => z.B. "20110121"
Gruß
Hubert
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

aaahhhh :-D jetzt wird es Tag :-D.
mir hat einfach die Funktion dtoc darum gefehlt :-D. Sorry, dass ich eure Zeit gestohlen habe :-), hab da jetzt ewig und drei Tage dran rumprobiert, dabei ist es so einfach :oops: :idea: :idea: :idea: #-o
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

angenommen ich habe die Systemzeit und will da 30 Tage hinzuaddieren. Wie funktioniert das ?
Gibt es Unterschiede wenn ich Monate oder Jahre hinzuaddieren will ?
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Martin Altmann »

Hmm,
wenn Du die Systemzeit hast und da 30 Tage raufaddierst, ändert sich nichts! :D
Wenn Du auf das Datum 30 Tage addieren willst, dann machst Du das einfach:
dNextMonth := Date() + 30

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

ja sorry das Datum meinte ich natürlich :-D
Danke :-P
Wenn ich jetzt 14 Monate hinzu addieren will muss ich dann 30 * 14 machen oder gibt es da noch einen anderen Weg? Es gibt ja auch noch den Februar mit seinen 28 Tagen und die 31 Tagemonate sind ja auch noch da ?!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

30 Tage * 14 Monate ... stimmt nie !

Zwar sind im Bankwesen 30 Tage pro Monat üblich, aber bei Xbase zählt jeder einzelne ...
Im Prinzip Monatswert lesen, 14 Monate addieren und eventuelle Überläufe auf Jahre umrechnen !
Alles zusammen wieder als Datum zusammenbauen und zuweisen ...
Gruß
Hubert
Benz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 440
Registriert: Mo, 30. Mai 2011 15:06
Danksagung erhalten: 1 Mal

Re: Systemzeit ausgeben

Beitrag von Benz »

Ist das umständlich das beispielhaft anzugeben ? :oops:
ich habe nämlich nicht die geringste Ahnung wie ich das anfangen könnte
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Bertram Hansen »

In den Tools gibt es die Funktion

Code: Alles auswählen

AddMonth( [<dDate>], ;  // Default: Date() 
          <nMonths>  ; 
        ) --> dNewDate 
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

Hi,

nun fassen wir zusammen, was du vorhin erklärt bekommen hast ;-) *** und überlegen, wie man es per Hand macht #-o

Code: Alles auswählen

? "In 14 Monaten ist der", AddMonth( date(), 14 )

function AddMonth(dDatum, nAnzAddMon) 
  local nJahr, nMonat, nTag
  do case
     case valtype(dDatum) <> "D"
          *** Fehlermeldung !
     case empty(nAnzAddMon)
          * nichts zu tun
     case nAnzAddMon > 0
          if ! empty(nAnzAddMon)
             nJahr := year(dDatum)
             nMonat := month(dDatum)
             nTag := day(dDatum)
             nMonat += nAddMon
             if nMonat > 12
                nJahr += int(nMonat/12)
                nMonat := nMonat % 12  // nur der Rest sind Monate
             endif
             dDatum := stod( strzero(nJahr,4)+strzero(nMonat,2)+strzero(nTag,2) ) 
          endif
     case nAnzAddMon < 0
          * Hausarbeit ;-)      
   end
return dDatum 
PS: ich habe es jetzt nicht geprüft, also eventuell verbessern ;-)
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Tom »

Das geht einfacher. Und rekursiv. In dieser Variante aber nur für positive Werte. Ungetestet.

Code: Alles auswählen

FUNCTION AddMonth(dDate,nMonth)
LOCAL dTempDate := BoM(dDate)+10 // jeder Monat hat einen 10., 30 Tage hinzuaddiert liegt also immer im Folgemonat!
IF nMonth = 0 // mag ja auch vorkommen
  RETURN dDate
ENDIF
IF nMonth = 1
  RETURN BoM(dTempDate+30)+(Day(dDate)-1) // BoM liefert den ersten Tag des Monats, Day() die Nummer des Tages eines Datums
ENDIF
RETURN AddMonth(dDate,nMonth-1)
Ups. Abfangen müsste man natürlich noch, ob für den 31., 30., 29. abgefragt wird und der Zielmonat weniger Tage hat. :wink:
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

Tom hat geschrieben:Das geht einfacher. Und rekursiv. In dieser Variante aber nur für positive Werte. Ungetestet
...
ob das "einfacher" ist ;-)
Für den Rechner auf jeden Fall nicht, denn jeder Funktionsaufruf kostet mehr als normale Berechnungen ;-)
Tom hat geschrieben:Ups. Abfangen müsste man natürlich noch, ob für den 31., 30., 29. abgefragt wird und der Zielmonat weniger Tage hat. :wink:
das trifft auf mein Beispiel auch zu ... das Datum könnte ungültig werden ... die Frage stellt sich dann, welches Datum richtig ist, wenn ...

31.Juli. + 2 Monate ... 30.September oder 01.Oktober ... :?
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Tom »

Hallo, Hubert.

Es ist in jedem Fall kompakter und eleganter - und man lernt gleich was über Rekursionen. :lol:

Einen Monat nach dem 31. August wäre der 30. September, würde ich mal sagen. Ansonsten müsste man das ggf. über einen Parameter oder eine Get/Set-Funktion steuern. 8) Die Frage ist, wozu man den Tag bräuchte, der einen Monat nach dem 31. August liegt.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Tom »

Die von mir gezeigte Funktion liefert für den 31. August den 1. Oktober bei einer 1 als Parameter nMonth, dito für den 31. Juli mit einer 2, aber den 30. September bei einer 3 und für den 30. Juni.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Systemzeit ausgeben

Beitrag von AUGE_OHR »

Benz hat geschrieben:Wenn ich jetzt 14 Monate hinzu addieren will muss ich dann 30 * 14 machen oder gibt es da noch einen anderen Weg? Es gibt ja auch noch den Februar mit seinen 28 Tagen und die 31 Tagemonate sind ja auch noch da ?!
wenn du es "genau" machen will würde ich zunächst "ungefähr" das neue Datum berechnen und dann die DatePicker aufrufen

Code: Alles auswählen

NewDate := DATE() + (30*14)
// native DatePicker
oDPick := DXE_DatePick():New(...):Create()
oDPick:SetData2Pick(NewDate)
oDPick:Show()
jetzt kannst du "sehen" ob du evtl. ein Wochenende erwischt hast und den genauen Tag festlegen.
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Tom »

wenn du es "genau" machen will würde ich zunächst "ungefähr" das neue Datum berechnen
Äh. Ich sehe da einen gewissen Widerspruch. Außerdem: Wie sinnvoll soll es sein, innerhalb einer automatischen Berechnung plötzlich den Datepicker aufzurufen?

Ein Monat hat im Durchschnitt 30,4167 Tage (365 / 12), in Schaltjahren ist der Faktor geringfügig höher (exakt 30,5). Wenn man also den Tag haben will, der "durchschnittlich" vier Monate nach einem konkreten Datum liegt, müsste man 4 * 30,4167 auf das Tagesdatum addieren. Das wäre aber sicher nicht das, was sich der Computernutzer als "vier Monate später" vorstellt, denn der denkt (wie die meisten von uns): Vier Monate nach dem 10.6.2011 ist nicht der 9.10.2011 (was die Berechnung ergäbe), sondern durchaus der 10.10.2011.

Problematisch wird das ohnehin nur, wenn man den x.ten Folgemonat für ein Datum am 29., 30. oder 31. sucht und es gibt diesen Tag nicht im Zielmonat. Das entspricht der Antwort auf die Frage, wann jemand in Nicht-Schaltjahren Geburtstag hat, der am 29. Februar eines Schaltjahres geboren wurde. Im Prinzip kann man also nicht jedes Datum um x Monate inkrementieren, man kann es nur ungefähr (30,4167 Tage hinzuaddieren) oder, wie in meiner Funktion, tatsächlich x Monate weiterrechnen und dann analog zum Quelltag um die Anzahl der Tage inkrementieren, womit man als Folgetag für den 31. August im um eins erhöhten Monat auf den 1. Oktober käme. Und an dieser Stelle müsste man eine philosophische Entscheidung treffen: Gemeint ist dann entweder der letzte Tag im Zielmonat (womit man sich tatsächlich x Monate nach dem Quellmonat befände), oder man springt immer auf den ersten des Folgemonats (was merkwürdig anmutet) - oder man verfährt wie oben gezeigt. Eine "richtige" Lösung für dieses eigentlich unzulässige Additionsproblem gibt es aber nicht. Das gilt übrigens auch für den Fall, dass man ganze Jahre hinzuaddieren möchte, aber dort nur, wenn das Quelldatum an einem 29. Februar liegt und das Zieljahr kein Schaltjahr ist. Siehe oben. Wenn ich Geburtstage berechne, wähle ich in diesem Fall (und auch bei Monatsadditionen, die das betrifft) den letzten des intervallmäßig passenden Monats. Einen Datepicker zeige ich natürlich nicht an. Und auch keine Pornobildchen oder sonstwelchen Unsinn. :wink:
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Systemzeit ausgeben

Beitrag von AUGE_OHR »

Tom hat geschrieben:Äh. Ich sehe da einen gewissen Widerspruch. Außerdem: Wie sinnvoll soll es sein, innerhalb einer automatischen Berechnung plötzlich den Datepicker aufzurufen?
es kommt darauf an "wozu" du es benötigst.
wenn ich das "Ablauf" Datum von Lebensmittel angebe ist es egal ob es auf einem So. liegt oder nicht.
wenn ich nun eine "Termin" in 4 Monaten machen will sollte man schon den Wochentag abstimmen
Tom hat geschrieben:Einen Datepicker zeige ich natürlich nicht an. Und auch keine Pornobildchen oder sonstwelchen Unsinn. :wink:
was hat das eine mit dem andern zu tun ... [-X
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Koverhage »

Nicht elegant, aber es funktioniert.

Code: Alles auswählen

*+
*+    Function DateAdd()
*+
FUNCTION DateAdd(dDate,nDays,nMonths,nYears)

Local dNewDate := dDate, nMonth := 0, nYear := 0, nDay := 0, nLastDay := 0

if nMonths > 12
   nYears += int( nMonths / 12 )
   nMonths := mod( nMonths, 12 )
endif

nMonth := MONTH( dNewDate ) + nMonths
nYear  := YEAR(  dNewDate ) + nYears
nDay   := DAY(  dNewDate )

IF nMonth < 1
   nYear  -= 1
   nMonth += 12
ELSE
   IF nMonth > 12
      nYear += int( nMonth / 12 )
      nMonth := mod( nMonth, 12 )
   ENDIF
ENDIF

nLastDay := LastDay(nMonth, nYear)
if nDay > nLastDay
   nDay := nLastDay
endif

dNewDate := CTOD( STRZERO( nDay, 2 ) + "." + ;
                  STRZERO( nMonth, 2 ) + "." + ;
                  STRZERO( nYear, 4 ) )


dNewDate := dNewDate + nDays

RETURN dNewDate

Function LastDay( nMnth, gnYear )
  Local nMonth := Iif( ValType(nMnth)="D", Month(nMnth), nMnth ),          ;
        nDays := 30

  Do Case
     Case nMonth =  0                   // Allow previous year, December
          nDays := 31

     // January
     Case nMonth =  1
          nDays := 31

     // February
     Case nMonth =  2                   // Is this leap year ?
          If !Empty( Day(CtoD("02/29/" + Str(gnYear,4,0) )) )
             nDays := 29
          Else
             nDays := 28
          EndIf

     // March
     Case nMonth =  3
          nDays := 31

     // April
     Case nMonth =  4
          nDays := 30

     // May
     Case nMonth =  5
          nDays := 31

     // June
     Case nMonth =  6
          nDays := 30

     // July
     Case nMonth =  7
          nDays := 31

     // August
     Case nMonth =  8
          nDays := 31

     // September
     Case nMonth =  9
          nDays := 30

     // October
     Case nMonth = 10
          nDays := 31

     // November
     Case nMonth = 11
          nDays := 30

     // December
     Case nMonth = 12
          nDays := 31
  EndCase
Return nDays


Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Tom »

wenn ich nun eine "Termin" in 4 Monaten machen will sollte man schon den Wochentag abstimmen
Was auch wiederum davon abhängt, mit wem man einen Termin macht: Privat ginge auch am Sonntag, obwohl der Tag, an dem über "in vier Monaten" gesprochen wird, ein Mittwoch ist.

Spaß beiseite. Klar, es geht darum, was gemeint ist. Ich gehe davon aus, dass es sich um eine automatische Berechnung handeln soll, die also kein Popup anzeigen darf. Also beispielsweise eine Wiedervorlagetermin-Systematik mit der Option "In x Monaten erinnern" oder so. Oder eine Leistung, die alle drei Monate erbracht werden soll. Oder die Frage, wer heute in zwei Monaten Geburtstag hat. Je nach Ansatz müssen dann verschiedene Dinge passieren: Heute in zwei Monaten bei einem "heute" 31. Juli wäre dann vermutlich der 30. September. Die Antwort käme aber auch am 30. Juli schon. Wenn man mit dem 1. Oktober antworten würde, käme diese Antwort doppelt am 1. August. Vertrackt. Irgendwie richtig wäre: Heute in zwei Monaten hat keiner Geburtstag, denn es gibt keinen 31. September. Für die anderen beiden Tage hast Du, Benutzer, die Antwort am 30. Juli erhalten - oder bekommst sie am 1. August. Die Leistung, die alle 3 Monate erbracht werden soll, darf aber nicht ausfallen, weil es keinen 31. September gibt - hier muss eine Entscheidung getroffen werden. Und, ja, Du hast recht - Geschäftstermine in x Monaten sollten nicht auf einen Sonntag fallen. Aber auch nicht auf einen Feiertag. Bei sich automatisch wiederholenden Terminen rechne ich an solchen Stellen vom (virtuellen) Zieltag so lange zurück, bis ein Werktag erreicht ist.

Anders gesagt: Man muss eine solche Funktion so gestalten, dass sie der Systematik entspricht oder wenigstens nahe kommt.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

Hi,

und ganz übel kommt es, wenn man auch noch gesetzliche Regelungen für Fristen beachten muss, was es da alles gibt :D
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von brandelh »

So, wenn der Zieltag auf ein ungültiges Datum trifft, dann ist der Folgetag meist die beste Alternative.
Hier meine Routine die das berücksichtigt ... (ich sollte wirklich mal nachsehen wo ich sowas schon gebraucht habe ...)

Code: Alles auswählen

? "In 14 Monaten ist der", AddMonth( date(), 14 )

function AddMonth(dDatum, nAnzAddMon)
  local nJahr, nMonat, nTag
  do case
     case valtype(dDatum) <> "D"
          *** Fehlermeldung !
     case empty(nAnzAddMon)
          * nichts zu tun
     case nAnzAddMon > 0
          if ! empty(nAnzAddMon)
             nJahr := year(dDatum)
             nMonat := month(dDatum)
             nTag := day(dDatum)
             nMonat += nAddMon
             if nMonat > 12
                nJahr += int(nMonat/12)
                nMonat := nMonat % 12  // nur der Rest sind Monate
             endif
             dDatum := stod( strzero(nJahr,4)+strzero(nMonat,2)+strzero(nTag,2) )
             if empty(dDatum) // OK - 1. Tag des Folgemonats.
                nTag := 1
                if nMonat < 12
                   nMonat++
                else
                   nMonat := 1
                   nJahr++
                endif
                dDatum := stod( strzero(nJahr,4)+strzero(nMonat,2)+strzero(nTag,2) ) 
             endif
          endif
     case nAnzAddMon < 0
          * Hausarbeit ;-)     
   end
return dDatum
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Systemzeit ausgeben

Beitrag von Wolfgang Ciriack »

Deswegen sollte man umgangssprachlich mit 1 Monat immer 4 Wochen meinen/rechnen, dann kann man sich diesen "Krempel" sparen (datum+=28) :D
Viele Grüße
Wolfgang
Antworten