Deutsch
Forum

DateTimeDiff

 

Michael
W.
Diese Funktion habe ich vermisst. Ich wollte diese nicht in die Codesnippets stellen da ein fester Einbau wohl etwas mehr Genauigkeit bringen kann.

Diese Funktion liefert
Jahre, Monate, Tage, Stunden, Minuten, Sekunden, Millisekunden
als kommaseparierten String zurück.
SubProc dt.DateTimeDiff

    Parameters float DatumAlt, DatumNeu
    Declare float f, string s, int J,M,T,ms
    Var float cJ = 365.2425
    Var float cM = 30.4375

    If DatumNeu > DatumAlt

        f = DatumNeu - DatumAlt' bei DaysBetween fehlt dann die Zeit

    Else

        f = DatumAlt - DatumNeu' bei DaysBetween fehlt dann die Zeit

    EndIf

    s = Translate$( dt("GetTime",2,f), ":", "," ) : ms = dt("GetMilliSec",f)
    J = Int(f / cJ) : f = f - (cJ * J)
    M = Int(f / cM) : f = f - (cM * M)
    T = Int(f)
    Return Format$("%u,",J) + Format$("%.2u,",M) + Format$("%.2u,",T) + s + Format$(",%.2u",ms)

EndProc

 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
21.03.2016  
 




Jörg
Sellmeyer
Richtig cool wäre es ja, wenn man da wahlweise auch das Datum als String angeben könnte.
Ich weiß: kann ich auch selber programmieren...
Aber vielleicht machst du es ja trottzdem noch.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.03.2016  
 




Michael
W.
Richtig cool ist: Diese Funktion ist ja 'jetzt' eine Datumsunterfunktion.

Und mittels Explode() kommt man an die Ergebnis-Werte auch sehr schnell heran.
Cls
Print dt("DateTimeDiff",  dt("SetDate", "10.03.2016",!now), !now )
Print dt("DateTimeDiff",  dt("SetDate", "10.03.2016"), !now )
WaitInput
End

SubProc dt.DateTimeDiff

    Parameters float DatumAlt, DatumNeu
    Declare float f, string s, int J,M,T,ms
    Var float cJ = 365.2425
    Var float cM = 30.4375

    If DatumNeu > DatumAlt

        f = DatumNeu - DatumAlt' bei DaysBetween fehlt dann die Zeit

    Else

        f = DatumAlt - DatumNeu' bei DaysBetween fehlt dann die Zeit

    EndIf

    s = Translate$( dt("GetTime",2,f), ":", "," ) : ms = dt("GetMilliSec",f)
    J = Int(f / cJ) : f = f - (cJ * J)
    M = Int(f / cM) : f = f - (cM * M)
    T = Int(f)
    Return Format$("%u,",J) + Format$("%.2u,",M) + Format$("%.2u,",T) + s + Format$(",%.2u",ms)

EndProc

 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
21.03.2016  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.628 Betrachtungen

Unbenanntvor 0 min.
H.Brill26.11.2022
Jörg Sellmeyer15.05.2018
Michael W.31.07.2017
Torsten Rümker10.05.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Michael W. (2x)
Jörg Sellmeyer (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie