Zeit Differenz berechnen

  • Hi Leute,

    da ich im Forum noch nichts brauchbares gefunden und ich die Richtige Funktion noch nicht gefunden habe Frage ich einfach mal hier:

    Wie schaffe ich, dass die Differenz von 2 verschiedenen Zeitpunkten berechnet wird? Die Ausgabe sollte dann in Stunden, Minuten bzw Sekunden erfoögen, je nach dem wie groß der unterschied ist. Also zB. 22:24:15 und 19:34:04 oder auch wenn die 1. Zeit am nächsten Tag ist, kann man da mit _Datediff arbeiten oder gibts günstigere Methoden?

    Einmal editiert, zuletzt von -Tom_Tom- (10. April 2009 um 00:50)

  • Hallo Tom Tom,

    so wie ich Deine frage lese,
    hast Du Dir die schon selbst beantwortet. ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Tja, da hab ich nur noch das Problem wie ich die Differenz wieder in ne anständige Zeit (HH:MM:SS) zurück wandeln kann.

    • Offizieller Beitrag

    Das geht so:

    [autoit]

    #include <date.au3>
    $t1 = "2009/01/01 13:15:00"
    $t2 = _NowCalc()

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

    $diff = _DateDiff('s', $t1, $t2)
    Select
    Case $diff < 60
    $sDiff = StringFormat('%02u', $diff) & ' s'
    Case $diff < 60*60
    $sDiff = StringFormat('%02u', Floor($diff/60)) & ':' & _
    StringFormat('%02u', Mod($diff,60)) & ' min'
    Case $diff < 60*60*24
    $sDiff = StringFormat('%02u', Floor($diff/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod($diff,3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod($diff,3600),60)) & ' h'
    Case Else
    $sDiff = Floor($diff/86400) & ' d / ' & _
    StringFormat('%02u', Floor(Mod($diff,86400)/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod(Mod($diff,86400),3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod(Mod($diff,86400),3600),60)) & ' h'
    EndSelect

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

    MsgBox(0, 'Vergangene Zeit', $sDiff)

    [/autoit]
  • ich hab jetzt nur eine banale Funktion zu bieten. :D
    Kannst Dir ja raussuchen, was Dir besser taugt...

    Spoiler anzeigen
    [autoit]

    $n_sec = 13625647
    MsgBox(0, '', _SecondsToTime($n_sec))

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

    Func _SecondsToTime($n_sec)
    Local $d,$h,$m
    $d = Floor($n_sec/86400)
    $n_sec -= ($d*86400)
    $h = Floor($n_sec/3600)
    If $h < 10 Then $h = "0"&$h
    $n_sec -= ($h*3600)
    $m = Floor($n_sec/60)
    If $m < 10 Then $m = "0"&$m
    $n_sec -= ($m*60)
    If $n_sec < 10 Then $n_sec = "0"&$n_sec
    Return($d&" Tage "&$h&":"&$m&":"&$n_sec)
    EndFunc

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Ich werd mich einfach mal n bissl damit spielen, danke Leute für die guten Lösungen =)