Autor Thema: Wie Anzahl Tage in Monat mit @Formel ermitteln ?  (Gelesen 3963 mal)

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« am: 04.08.04 - 10:50:26 »
Hallo zusammen,

wie kann ich möglichst einfach und kurz die Anzahl von Tagen in einem gegebenen Monat in einem bestimmten Jahr mit der @Formelsprache ermitteln? Ich habe an der Stelle an der ich die Anzahl der Tage ermitteln muss leider nur die @Formeln zur Verfügung.

Danke im Vorraus

Jenson

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #1 am: 04.08.04 - 10:57:46 »
monat := @Month( DeinDatum );
jahr := @Year( DeinDatum );
ersterDesMonats := @TextToTime( "01." + monat + "." + jahr );
ersterNächsterMonat := @Adjust( ersterDesMonats ; 0 ; 1 ; 0 ; 0 ; 0 ; 0 );
letzterDesMonats := @Adjust( ersterNächsterMonat ; 0 ; 0 ; -1 ; 0 ; 0 ; 0 );

tageDesMonats := @Day( letzterDesMonats) ;

HTH
Tode

P.S.: Vielleicht geht's auch einfacher... aber das ist mir auf die schnelle eingefallen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #2 am: 04.08.04 - 13:14:27 »
Danke für den Tip soweit. Irgendwie läuft das aber bei mir nicht so wie es soll. Ich bekomme den Fehler

"Incorrect data type for operator or @Function: Text expected"

Ich habe eigentlich das Script so übernommen und statt "deinDatum" nur @Now eingefügt. Sollte doch eigentlich funktionieren ...


**StehZiemlichAufDerLeitungGlaubeIch**

Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #3 am: 04.08.04 - 13:21:28 »
In solchem Fall lohnt sich doch immer ein Blick in die DesignerHelp, um die korrekte Syntax zu ermittelt.
@TextToTime erwartet einen STRING (was der Name der Function kaum vermuten lässt  ;D).
Daher muss monat und jahr vorher noch mit @Text in Strings umgewandelt werden.

HTH,
Bernhard

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #4 am: 04.08.04 - 13:30:51 »
Den gleichen Gedanken hatte ich auch und hab mir die Funktion genauer angeschaut. Dann war das mit dem @Text nicht mehr weit :-)

Funktionieren tut's aber dennoch noch nicht. In der momentanen Fassung erhalte ich dann für "letzterDesMonats" immer das gleiche Datum wie für "ersterDesMonats".

Ich habe da mal was leuten höhren, dass Domino 6.5.1 zusammen mit Linux manchmal Probleme mit englisch  / deutsch in Bezug auf das Datum haben kann.

Jenson

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #5 am: 04.08.04 - 13:36:19 »
Also hier nochmal mein kleines Script:
Code
_datum := @Now;

monat := @Month(_datum);
jahr := @Year(_datum);
ersterDesMonats := @TextToTime( "01." + @Text(monat) + "." + @Text(jahr) );
ersterNächsterMonat := @Adjust( ersterDesMonats ; 0 ; 0 ; 1 ; 0 ; 0 ; 0 );
letzterDesMonats := @Adjust( ersterNächsterMonat ; 0 ; -1 ; 0 ; 0 ; 0 ; 0 );

_DaysInMonth := @Day( letzterDesMonats) ;
_DaysInMonth := "erster des Monats: " + @Text(ersterDesMonats) + "erster Nächster Monat: " + @Text(ersterNächsterMonat) + "letzter diesen Monats: " + @Text(letzterDesMonats);

Das obige Script ergibt nun folgende Ausgabe (Variable _DaysInMonth):

erster des Monats: 01.08.2004erster Nächster Monat: 01.09.2004letzter diesen Monats: 02.09.2004

Wenn ich das richtig verstanden habe, dann muss ich doch bei @Adjust das Datum des ersten Tages des Folgemonats angeben und mit der Angabe "-1" einen Tag abziehen, oder? Bei @Adjust scheint es auch ein paar unstimmigkeiten bei Verwendung eines deutschen Datums (auf deutschem Server) zu geben, oder?


Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #6 am: 04.08.04 - 13:41:37 »
Du hast die Parameter Deiner @Adjusts aber auch genau verdreht. Schau' Dir nochmal den Code von Tode an.

Das funktioniert:
Code
monat := @Month (@Today);
jahr := @Year (@Today);
ersterDesMonats := @Date (jahr; monat; 1);

ersterNächsterMonat := @Adjust( ersterDesMonats ; 0 ; 1 ; 0 ; 0 ; 0 ; 0 );
letzterDesMonats := @Adjust( ersterNächsterMonat ; 0 ; 0 ; -1 ; 0 ; 0 ; 0 );

tageDesMonats := @Day( letzterDesMonats) ;

@Prompt ([OK]; "Ergebnis"; @Text (tageDesMonats))

Beachte bitte die Datumsbildung für ersterDesMonats. Mit dieser Variante kann es Dir auch egal sein, welches Datumsformat das OS verwendet.

HTH,
Bernhard

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Wie Anzahl Tage in Monat mit @Formel ermitteln ?
« Antwort #7 am: 04.08.04 - 13:55:21 »
ja ja... @Date... da hätte ich auch drauf kommen können @koehlerbv..

Aber das war ja auch nur als kurz hingeklatschter Tipp gedacht, sicher nicht die elegeanteste Lösung...

in meiner Formel war übrigens (nur als Nachtrag) der Fehler folgender:

monat und jahr sind jeweils ZAHLEN,

und in der Zeile mit @Texttotime habe ich diese Zahlen versucht zu einem String dazuzuaddieren...

so hätte das auch funktioniert:

@TextToTime( "01." + @Text( monat ) + "." + @Text( jahr ) )

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz