WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zeit umwandeln

 

Ghost87
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2017, 15:24     Titel: Zeit umwandeln
  Antworten mit Zitat      
Hallo,

ich habe da ein kleines Problem mit dem umwandeln der Zeit:

Code:

 % Berechnung der Differenz der Loginzeit pro Tag
    logInIndex = Zeitfenster{2,i};
    logOutIndex = Zeitfenster{3,i};
    logIn = WorkLog(logInIndex,1);
    logOut = WorkLog(logOutIndex,2);
    AnzLogIn = length(logInIndex);
    AnzLogOut = length(logOutIndex);
    form = 'yyyy-mm-ddTHH:MM:SS';

            diffZ = arrayfun(@(logIn,logOut) (datenum(logOut, form)-datenum(logIn, form)),   logIn,logOut);
            addZ = datenum([datestr(datenum(logIn(1,1),'yyyy-mm-dd'),'yyyy-mm-dd') 'T24:00:00.000+0200'], form) - datenum(logIn(1,1),form);
            logZeit=sum(diffZ)+addZ;
            Auslastung(1,i)=logZeit/24h*100;

 


Bei dem Ergebnis Auslastung, weiß ich nicht wie ich die 24 Stunden in das normale Format umzuwandeln habe, sodass ich am Ende eine prozentuelle Berechnung meiner Auslastung habe. Ich danke im Voraus.

LG
Ghost87
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.07.2017, 18:19     Titel:
  Antworten mit Zitat      
Hallo,

mangels Daten kann man deinen Code nicht ausführen. Bitte gib doch zumindest an, in welchem Format logZeit (Datentyp, Wertebereich etc.) vorliegt.
Ideal ist es, wenn du einen oder mehrere Werte von logZeit angeben kannst und dazu, welches Ergebnis du am Ende haben möchtest.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ghost87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2017, 10:33     Titel:
  Antworten mit Zitat      
Hallo,

also ich kann hier mal paar Werte posten die bei mir rausgekommen sind und die ich aus meinem Datensatz entnehme:

also für:
Code:
diffZ = arrayfun(@(logIn,logOut) (datenum(logOut, form)-datenum(logIn, form)), logIn,logOut);


kommt: 0000-01-00T05:52:16 , wenn ich es als
Code:
ausgebe und 0.2446 als normales Ergebnis.

für:
Code:
addZ = datenum([datestr(datenum(logIn(1,1),'yyyy-mm-dd'),'yyyy-mm-dd') 'T24:00:00.000+0200'], form)-datenum(logIn(1,1),form);


kommt: 0000-01-00T14:41:52, wenn ich es als
Code:
ausgebe und 0.6124 als normales Ergebnis.

für:
Code:
logZeit=sum(diffZ)+addZ;


kommt: 0000-01-00T20:34:08, wenn ich es als
Code:
ausgebe und
0.8570 als normales Ergebnis.

Das was ich im Endeffekt errechnen will ist meine Auslastung. Hierbei habe ich das Problem, dass ich nicht weiß wieviel 24 Stunden als normales Ergebnis wären, sodass ich meine Auslastung quasi prozentualle angeben kann nach der folgenden Formel:

Code:
AuslastungG(1,i)=logZeit/24h*100


Hierbei habe ich ein Problem: AuslastungG(1,i)=logZeit/24h*100 . Ich hoffe es ist ungefähr verständlich was ich meine. Ich habe immer gewisse Stunden raus als normales Ergebnis, die ich halt mit
Code:
nachgucken kann, weiß aber so von sich aus nicht wie viel 24:00:00 Stunden als normales Ergebnis sind.

Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.07.2017, 15:37     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht sehe ich das zu einfach, aber m.E. 24h = 1.
D.h.
Code:
Auslastung(1,i)=logZeit*100;


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ghost87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2017, 10:15     Titel:
  Antworten mit Zitat      
Ne lieber Harald, das geht leider nicht. Komme irgendwie nicht auf die Lösung dieses Problem auszurechnen....
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.08.2017, 11:04     Titel:
  Antworten mit Zitat      
Hallo,

mehr konnte ich aus deiner Erklärung leider nicht entnehmen.
Du hast zwar die Entwicklung von Anfang an gezeigt, deine Hin- und Herkonvertierungen kann ich aber nicht nachvollziehen.

Hast du dir mal datetime angesehen? Das macht das Arbeiten mit Datums- und Zeitangaben oft einfacher.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ghost87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 21.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2017, 16:12     Titel:
  Antworten mit Zitat      
Sooooo,

and der Stelle war wirklich die Eins richtig. Konnte so das Problem lösen, also die Dezimalzahl die dort rauskommt, ist schon der prozentualle Anteil und die 24h sind ja in dem Sinne die Eins.

Vielen Dank nochmal

LG
Ghost
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.