[C#] Anzahl Zeitstempel in der Differenz von 2 Zeitstempeln



  • Servus,

    ich stehe im Moment tierisch auf dem Schlauch und kann mir im Moment keinen Reim bilden. Vielleicht hat einer eine Blitzidee bzw. eine Anregung...

    Bsp. - 1 -
    Ich habe 2 Zeitstempel:
    Start: 06.01.2009 - 15:00:00
    Stop: 07.01.2009 - 07:00:00

    Bsp. - 2 -
    Ich habe 2 Zeitstempel:
    Start: 06.01.2009 - 04:00:00
    Stop: 07.01.2009 - 10:00:00

    Jetzt bilde ich die Differenz und möchte wissen, wie oft ist ein 05:00 Uhr Wert darin vorgekommen? Bei meinem ersten Beispiel wäre es einmal. Bei dem Zweiten zweimal...

    Vielleicht kann mir einer auf die Schnelle weiterhelfen...

    Danke im Voraus für die Antworten

    gruß
    Hellsgore



  • Hellsgore schrieb:

    Bsp. - 1 -
    Ich habe 2 Zeitstempel:
    Start: 06.01.2009 - 04:00:00
    Stop: 07.01.2009 - 10:00:00

    ich vermute mal was:
    die ganzen tage kriegste bestimmt raus.
    sei mal uhrzeit eine funktion, die aus einem zeitstempel die uhrzeit extrahiert.
    dann mußtest du noch
    if(urzeit(Stop)>uhrzeit(Start) and uhrzeit(start)<="05:00:00" and uhrzeit(stop)>"05:00:00)
    ein auftreten mehr zählen.



  • Servus,

    klasse, dank dir... die Vermutung war richtig. Ich stand wirklich auf dem Schlauch...

    Hier mein TestCode:

    DateTime from = new DateTime(2009, 1, 5, 5, 0, 0);
    DateTime now = new DateTime(2009, 1, 7, 10, 0, 0);
    
    DateTime fromClear = new DateTime(from.Year, from.Month, from.Day, 0, 0, 0);
    DateTime nowClear = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
    
    TimeSpan offset = nowClear.Subtract(fromClear);
    int timeCount = (int)offset.TotalDays;
    
    if ( ( now >= new DateTime(now.Year, now.Month, now.Day, 5, 0, 0) ) &&
        ( from <= new DateTime(from.Year, from.Month, from.Day, 5, 0, 0) ) )
    {
        timeCount++;
    }
    

    gruß
    Hellsgore


Anmelden zum Antworten