Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
Rechnen mit Uhrzeiten - Hilfe
ascabg:
Versuchs mal so.
--- Code: ---Dim dblDiff As Double
dblDiff = pausenende.TimeDifferenceDouble(pausenanfang)
--- Ende Code ---
oder
--- Code: ---Dim lngDiff As Long
lngDiff = pausenende.TimeDifference(pausenanfang)
--- Ende Code ---
Du bekommt in beiden Faellen numerische Werte zurueckgeliefert, die die Anzahl an Sekunden angeben.
Nur einmal wird dieser Wert als LONG und das andere Mal als DOUBLE zurueckgeliefert.
Andreas
LukasSChl:
ok habs so gemacht und endlich kann ich das abspeichern^^
Code looks like this:
--- Code: ---Dim oUIDoc As NotesUIDocument
Set oUIDoc = oWorkspace.CurrentDocument
Dim oDoc As Notesdocument
Set oDoc = oUIDoc.Document
Dim pausenanfang As NotesDateTime
Set pausenanfang = New NotesDateTime (oDoc.pausenanfang)
Dim pausenende As NotesDateTime
Set pausenende = New NotesDateTime (oDoc.pausenende)
Dim pause As Double
pause = pausenende.TimeDifferenceDouble( pausenanfang )
oDoc.Pause_1 = pause
--- Ende Code ---
Jetzt bekomm ich bei der Zeile:
"Set pausenanfang = New NotesDateTime (oDoc.pausenanfang)"
einen "Type mismatch"- Fehler, wenn ich auf den berechnen Button klicke.
Hab in die Felder sowohl Uhrzeiten (10:00 / 10:00:00) als auch normale Werte (1,2,etc) eingegeben, aber immer der gleiche Fehler.
mfg Lukas
koehlerbv:
Set pausenanfang = New NotesDateTime (Cstr (oDoc.pausenanfang (0)))
Bernhard
LukasSChl:
ah wunderbar es läuft ohne Fehler durch, vielen Dank Bernhard.
Nur leider bekomm ich immer nur "0" als Wert ausgegeben.
//EDIT: hab was übersehn es FUNKTIONIERT ;);) endlich.
vielen dank nochma
mfg Lukas
koehlerbv:
So kompliziert muss man das übrigens gar nicht machen. Datums-/Zeitwerte sind eigentlich nur Zahlen im Double-Format. Zieh Dir folgenden Code mal rein - der kommt völlig ohne NotesDateTime class aus.
HTH,
Bernhard
--- Code: ---Function GetTimeDifferenceMin (vStartTime As Variant, vEndTime As Variant) As Double
'==================================================================================================================================
' Purpose: Calculates the time difference between two given Date/Time values (normally the time component only)
'----------------------------------------------------------------------------------------------------------------------------------
' Arguments:
' vStartTime - should be a Date / Time value
' vEndTime - should be a Date / Time value. If vEndTime is 0:00 it will be converted to 24:00 (= 1) !
'----------------------------------------------------------------------------------------------------------------------------------
' Returns: The time difference in minutes if both values are Date/Time values (otherwise 0)
'----------------------------------------------------------------------------------------------------------------------------------
' Created by: Bernhard Koehler on 13.12.2004
'----------------------------------------------------------------------------------------------------------------------------------
' Changes:
'===================================================================================================================================
Dim dblDifference As Double
On Error Goto ErrorRoutine
'The default value:
GetTimeDifferenceMin = 0
'Check for valid Date/Time values:
If Not (Isdate (vStartTime)) Or Not (Isdate (vEndTime)) Then
Exit Function
End If
'Because we can't store 24:00 in Notes we use 0:00 and have to convert this value to 24:00 = 1
If Fraction (vEndTime) = 0 Then
vEndTime = 1
End If
dblDifference = Fraction (vEndTime) - Fraction (vStartTime)
dblDifference = dblDifference * 24 * 60
GetTimeDifferenceMin = Round (dblDifference, 0)
Exit Function
ErrorRoutine:
GetTimeDifferenceMin = 0
Call ErrorHandler ("GetTimeDifferenceMin")
Exit Function
End Function
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln