Guten Abend.
Ich bekomme heute einfach nicht das Rätsel gelöst, wie man zum Beispiel von der jetzigen Zeit 3 Sekunden addieren kann.
Vielen Dank schonmal im voraus!
Liebe Grüße
Elodie
Guten Abend.
Ich bekomme heute einfach nicht das Rätsel gelöst, wie man zum Beispiel von der jetzigen Zeit 3 Sekunden addieren kann.
Vielen Dank schonmal im voraus!
Liebe Grüße
Elodie
Guck dir mal das an
$Zeit = StringSplit ("1:00",":")
$Rechnung = _TestZeit (@HOUR + $Zeit[1],23) & ":" & _TestZeit (@MIN + $Zeit[2],60)
While 1
Do
Sleep (1000)
Until @HOUR & ":" & @MIN = $Rechnung
If MsgBox (256+36,"Shutdown","Willst du den Pc runterfahren?",30) <> 7 Then
Shutdown (64)
Exit
Else
$Zeit = StringSplit ($Zeit[1] +1 & ":30",":")
$Rechnung = _TestZeit (@HOUR + $Zeit[1],24) & ":" & _TestZeit (@MIN + $Zeit[2],59)
EndIf
WEnd
Func _TestZeit($Zeit,$Typ)
IF $Zeit > $Typ Then $Zeit -= $Typ +1
If $Zeit < 10 Then $Zeit = "0" & $Zeit
Return $Zeit
EndFunc
Das hab ich mal für micht gemacht weil ich es gerad brauchte
MsgBox(0, "", "Jetzt: " & @HOUR & ":" & @MIN & ":" & @SEC & @CRLF & "Dann: " & @HOUR & ":" & @MIN & ":" & @SEC + 3)
[/autoit]Edit : Oder schau dir mal das Beispiel von _TimeToTicks an:
#include <Date.au3>
Global $Sec, $Min, $Hour, $Time
; calculate with time
$StartTicks = _TimeToTicks(@HOUR,@MIN,@SEC)
; calculate 45 minutes later
$EndTicks = $StartTicks + 45 * 60 * 1000
_TicksToTime($EndTicks,$Hour,$Min,$Sec)
MsgBox(262144,'' , 'New Time:' & $Hour & ":" & $Min & ":" & $Sec)
Hi,
genau dafür gibts doch die _Date Funktionen. Mit _DateAdd kannst zu jedem Datum oder Uhrzeit soviel dazuaddieren oder abziehen wie du willst.
#include <Date.au3>
[/autoit][autoit][/autoit][autoit]$sNewDate = _DateAdd('s', 3, _NowCalc())
MsgBox(4096, "", "Heute + 3 Sekunden: " & $sNewDate)
@anno stimmt. Mit negativem Vorzeichen kann man sogar subtrahieren .
[autoit]#include <Date.au3>
[/autoit][autoit][/autoit][autoit]$sNewDate = _DateAdd('s', -3, _NowCalc())
MsgBox(4096, "", "Heute - 3 Sekunden: " & $sNewDate)
supi, genau sowas habe ich gesucht.
Hallo Leute,
ich greife das Thema noch einmal auf um mache es etwas komplizierter:
Wie bringe ich es fertig verschiedene Zeitangaben zu addieren?
Beispiel:
0:01:20
0:03:17
0:12:43
0:17:20
Muss ich die Zeiten tatsächlich erst komplett splitten und einzeln addieren? Oder gehts eleganter?
Gruß Mike
Hallo,
ich hab da mal eine UDF geschrieben, die allerdings nur Stunden und Minuten addieren kann in der Form 03:45.
Wenn es Dir weiterhilft, so würde der Aufruf aussehen...
#include <_TimeMin.au3>
[/autoit][autoit][/autoit][autoit]$zeit1 = _TimeToMin('01:20')
$zeit2 = _TimeToMin('03:17')
$zeit3 = _TimeToMin('12:43')
MsgBox(0, '', _MinToTime($zeit1+$zeit2+$zeit3))
[/autoit]
UDF ist anbei...
Danke
ich hab die Idee mal aufgegriffen und für meine Zwecke diese zwei kleinen Funktionen gebaut:
Func time2sec($t2s_time)$t2s_time_a=StringSplit($t2s_time,":")Return $t2s_time_a[1]*3600+$t2s_time_a[2]*60+$t2s_time_a[3]endfuncFunc sec2time($s2t_seconds)$s2t_seconds=Number($s2t_seconds)$_h=int($s2t_seconds/3600)$_m=int(($s2t_seconds-$_h*3600)/60)$_s=int((($s2t_seconds-$_h*3600)-$_m*60))Return $_h & ":" & Stringformat("%02d",$_m) & ":" & StringFormat("%02d",$_s)endfunc
[/autoit]Einmal wird eine Zeitangabe inkl. Stunden in eine Ganzzahl Gesamtsekunden gewandelt. Damit kann man dann rechnen.
Und die zweite Funktion wandelt eine Zahl dann in Stunden : Minuten : Sekunden um.
PS: Wo sind meine Zeilenumbrüche hin?