Autor Thema: rechnen mit zeitwerten  (Gelesen 1378 mal)

Offline qpix

  • Frischling
  • *
  • Beiträge: 23
rechnen mit zeitwerten
« am: 27.01.06 - 08:13:18 »
hallo leute...
ich bin eigentlich notes sysadmin und kenne mich mit der programmierung mehr schlecht als recht aus, aber für ein paar kleinigkeiten reichts.

nun habe ich folgendes problem das ich nicht imstande bin zu lösen.
ich habe 3 felder als datum/zeit definiert: feld1, feld2, feld3.
die rechnung scheint einfach: feldwert2 - feldwert1 =summe feld3.
z.b. 22:52 - 07:35 = 15:17
oder 01:30 - 0:50 = 00:40
diese wäre die richtige rechnung, nur bin ich nicht imstande dies hinzukriegen.
ich habe bereits versucht, feld2 - feld1/60 dann sollten die min rauskommen.
nur wenn ich diesen wert wieder mit 60 teile kommt die falsche zahl raus im ersten beispiel nähmlich 15:28.
ich habe auch alle möglichen formeln und varianten probiert, aber no chance?!

ich hoffe jemand von euch kann mir helfen!

danke qpix

Offline VB3Bernd

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Männlich
  • Danke!
Re: rechnen mit zeitwerten
« Antwort #1 am: 27.01.06 - 10:05:24 »
Hallo qpix,

ich habe den Eindruck Du mischt hier Uhrzeiten und Stunden, Du willst also von der Uhrzeit 22:35 einfach 7 Stunden und 35 Minuten abziehen und dann wieder die Uhrzeit erhalten. Habe ich das so richtig verstanden?

Wenn ja, habe ich mit Formeln was zusammengestoppelt, das ist weder wirklich schön noch ist es ausgereift, aber ich poste es trotzdem mal (Kritik erwünscht  :-\).

Datum1 = Text-Feld, bearbeitbar
Datum2 = Text-Feld, bearbeitbar

Wichtig hierbei ist, dass die Zeiten immer mit einem Doppelpunkt eingegeben werden müssen, z.B. 12:35

Datum3 = Zeit/Datum-Feld, berechnet mit folgender Formel

*** hier rechne ich die einzelnen Werte vor und nach dem Doppelpunkt in Minuten um ***
_W1 := @ToNumber(@Subset( @Explode(Datum1 ; ":") ; 1 )) * 60 ;
_W2 := @ToNumber(@Subset( @Explode(Datum1 ; ":") ; -1 )) ;
_W3 := @ToNumber(@Subset( @Explode(Datum2 ; ":") ; 1 )) * 60 ;
_W4 := @ToNumber(@Subset( @Explode(Datum2 ; ":") ; -1)) ;

*** hier subtrahiere ich die Minuten ***
_E := _W2 - _W4 ;

*** man muss eine Stunde korrigieren, wenn die Minuten der abzuziehenden Stunden größer sind als die Minuten der Uhrzeit ***
_E1 := @If(_E >= 0 ; (_W1 - _W3) / 60 ; (_W1 - _W3 - 60) / 60) ;
_E2 := @If(_E >= 0 ; (_W2 - _W4) ; (60 +_E )) ;

*** Umrechnung der Werte in Datum ***
@ToTime(@Text(_E1) + ":" + @Text(_E2))

Diese Formel ist nicht komfortabel und birgt ein paar Probleme - ist mir klar. Vielleicht kann man sie ja trotzdem verwenden.

Grüße
Bernd
SYSTEM
Domino 9.0.1 FP10 HF983
Client Win10 mit Notes 12.0.0
(Revision 20210514.0921)
Mail-Schablone 9.1.0 (20.03.18)
-----------------------------------
Man wird nicht zwischen Weihnachten und Neujahr dick, sondern zwischen Neujahr und Weihnachten! ;-)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: rechnen mit zeitwerten
« Antwort #2 am: 27.01.06 - 10:19:45 »
die Subtraktion zweier Datumswerte ergibt eine Differenz in Sekunden, wie DU schon richtig erkannt hast. Diese sekunden lassen sich nicht direkt als "zeitwert" anzeigen.

Du kannst Dir aber Stunden, Minuten und Sekunden selbst berechnen:

wenn Zeit3 die Differenz in Sekunden beträgt, dann geht das so:

hour := @Integer( Zeit3 / 3600 );
restMin := @Modulo( Zeit3 ; 3600 );
min := @Integer( restMin / 60 );
sek := @Modulo( restMin ; 60 );

x := @Time( hour ; min ; sek );

@If( @IsError( x ) ; "" ; x )
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 qpix

  • Frischling
  • *
  • Beiträge: 23
Re: rechnen mit zeitwerten
« Antwort #3 am: 27.01.06 - 10:27:40 »
danke für dein posting.
es sind aber nicht uhrzeiten und stunden sondern das format lautet stunden:minuten:
z.b.
22:35 sind also 22st und 52min minus 07st:35min sollte 15:17 rauskommen und nicht 15:28.......irgendwas.

danke

Offline qpix

  • Frischling
  • *
  • Beiträge: 23
Re: rechnen mit zeitwerten
« Antwort #4 am: 27.01.06 - 10:35:13 »
vielen dank torsten...

mit deiner formel hats endlich geklappt!!!!

gruesse qpix
« Letzte Änderung: 27.01.06 - 10:42:58 von qpix »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz