Anzahl Sekunden konvertieren in Stunden Minuten und Sekunden

  • Hallo zusammen

    ich suche schon vergeblich nach einer Funktion die mir eine bestimmte Anzahl von Sekunden in folgendes Format umwandelt ==> hh:min:sec

    Es sollen zum Beispiel 3690 Sekunden in folgendem Format umgerechnet und ausgegeben werden:
    1 h = 3600 Sekunden (Rest 90 Sekunden) entspricht 1 Minute und 30 Sekunden)

    Ergebins sollte so aussehen ===> 01:01:30

    MfG
    johny

    Einmal editiert, zuletzt von johny1099 (25. März 2013 um 23:08)

  • Mit bisschen nachdenken kann man das doch locker selber schreiben, oder nicht?

    Da es hier doch einige falsch machen:

    Zitat von einem User dieses Forums

    Die Standard-Standart eines Flamingos ist einbeinig. ;)

  • ist eigentlich ganz einfach :

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $iSecondsAdd = 3690
    Global $sTime = StringRegExpReplace(_DateAdd("s",$iSecondsAdd,"2013/01/01 00:00:00"),".+ (.+)","$1")
    MsgBox(0,"",$sTime)

    [/autoit]


    Edit : Muss es auch mit Sekunden >= 86400 funktionieren ? Also mehr als 1 Tag . Dann müsste ich mein Skript leicht abändern

    Einmal editiert, zuletzt von Alcros (25. März 2013 um 22:43)

  • Probiere es mal damit:

    [autoit]


    Func Sec_2_Time_Format($time) ;coded by UEZ
    Local $days = 0
    Local $sec = Mod($time, 60)
    Local $min = Mod(Int($time / 60), 60)
    Local $hr = Int($time / 60 ^ 2)
    If $hr > 23 Then
    $days = Floor($hr / 24)
    $hr -= $days * 24
    EndIf
    Return StringFormat("%01id %02i:%02i:%02i // ", $days, $hr, $min, $sec) & _DateAdd("s", -$time, _NowCalc())
    EndFunc ;==>Sec_2_Time_Format

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • sollte so gehen :

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $iSecondsAdd = 90090
    Global $sDateTime = _DateAdd("s",$iSecondsAdd,"2013/01/01 00:00:00")
    Global $iHours = _DateDiff("h","2013/01/01 00:00:00",$sDateTime)
    Global $sTime = StringRegExpReplace($sDateTime,".+ (.+)","$1")
    if $iHours > 23 Then $sTime = StringRegExpReplace($sTime,"^\d+?:",$iHours&":")

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"",$sTime)

    [/autoit]


    Edit : da war wohl jmd schneller ;)

    Einmal editiert, zuletzt von Alcros (25. März 2013 um 23:16)

  • Und so hat Gott mal wieder Faulheit belohnt -.- nein jetzt mal ehrlich (ohne dich hier runtermachen zu wollen aber...) wenn du sowas schon nicht selber programmieren kannst/willst...ich meine sogar dann hättest du mit 1 mal googeln oder die Forensuche viel schneller ne Lösung gefunden als hier so umständlich auch noch nen Thread zu eröffnen :rolleyes:

    Bild1: Ich beim debuggen

  • Genau das meine ich... Ich sehe wir verstehen uns :D

    Da es hier doch einige falsch machen:

    Zitat von einem User dieses Forums

    Die Standard-Standart eines Flamingos ist einbeinig. ;)