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

Datum und Uhrzeit leider in Zahlen- Help!!!!

 

ilmiomondo
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2018, 14:35     Titel: Datum und Uhrzeit leider in Zahlen- Help!!!!
  Antworten mit Zitat      
Hallo zusammen. Ich habe eine Datei in csv Format. Beim importieren in Matlab als Matrix werden mir leider die Zeitdaten ('yyyy-MM-dd''T''HH:mmXXX') in Zahlen dargestellt. Ich würde gerne die Ursprungsformatierung beibehalten! Könnt ihr mir eventuell helfen?


Ich habe folgende csv - Datei mit diesem Datumsformat in Spalte 1:

2018-03-23T00:00:41Z

Dieses wird in folgende Zahl in Matlab umgewandelt: 1.521763241000000e+18

Wie ich kann ich es in 2018-03-23T00:00:41 umwandeln?
Grüße
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: 12.06.2018, 17:17     Titel:
  Antworten mit Zitat      
Hallo,

eine Konvertierungsmöglichkeit:
Code:
d = '2018-03-23T00:00:41';
d = strrep(d, 'T', ' ');
datetime(d, 'InputFormat', 'yyyy-MM-dd HH:mm:ss')


Beim Datenimport gibt es viele verschiedene Möglichkeiten. Hilfreich ist also zu sagen, wie du die Daten importierst (Code) und von wo (.txt, .xlsx, Datenbank, ...).

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2018, 09:20     Titel:
  Antworten mit Zitat      
Hintergrund ist dieser:
Ich habe eine Datenreihe über Influxdb heruntergeladen die mir ein dieses Datum-Format
ausspuckt.
'2018-03-23T23:59:59Z'
soweit ich das beurteilen kann ist das kein Matlab-Format oder ? Matlab hat ja dieses Format '2018-03-23 23:59:59'.
Denn wenn ich diese Daten einlese bekomme ich in der Spalte für Zeit überall eine Zahl mit 10^18.
Weißt du eventuell was dieses Z bedeutet? ist das eine Java Schreibweise?
Grüße
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: 13.06.2018, 09:25     Titel:
  Antworten mit Zitat      
Hallo,

ich hatte dir doch einen Vorschlag geschickt. Wenn das T und das Z keine tiefere Bedeutung haben, dann kann man sie ja entfernen und damit weiter arbeiten.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2018, 10:12     Titel:
  Antworten mit Zitat      
Hallo Harald,
der Code ist aber für einen Tag, wenn ich eine Matrix habe in der in Spalte 1 alle Zeiten sind wie schreibe ich dann deinen Code um?
Grüße
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: 13.06.2018, 10:15     Titel:
  Antworten mit Zitat      
Hallo,

versuch's doch mal und falls Probleme dabei auftreten, poste sie.

Es ist zwar gut, wenn Beispiele einfach sind. Wenn du dann aber den Ansatz nicht auf deine Anwendung übertragen kannst, ist das Beispiel wenig hilfreich. Dann musst du halt auch ein etwas umfangreicheres Beispiel zur Verfügung stellen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 18.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2018, 11:31     Titel:
  Antworten mit Zitat      
Hallo harald,
ich hab folgendes probiert :
ich gehe von einem Table A aus in der in Spalte 1 alle Zeiten (1:500) aufgelistet sind:

Anhand diesem Beispiel aus der Matlab Beschreibung:
newStr = strrep(str,old,new) replaces all occurrences of old in str with new.


Code:
d = A(:,1) %alle Daten von Spalte 1
d = strrep(str, 'T', ' ');
d = strrep(str, 'Z', ' ');
datetime(str, 'InputFormat', 'yyyy-MM-dd HH:mm:ss')


Fehler :
Warning: Inputs must be character arrays or cell arrays of strings.
Error using strrep
Conversion to double from table is not possible.

test1.txt
 Beschreibung:

Download
 Dateiname:  test1.txt
 Dateigröße:  196 Bytes
 Heruntergeladen:  189 mal
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: 13.06.2018, 13:00     Titel:
  Antworten mit Zitat      
Hallo,

du musst den Inhalt aus dem Table herausholen.
Code:
d = A{:,1}


Grüße,
Harald
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.