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 (05-Apr-2016) umwandeln

 

luep
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2016, 14:15     Titel: Datum (05-Apr-2016) umwandeln
  Antworten mit Zitat      
Hallo zusammen,

ich möchte ein Datum, bspw. den 05-Apr-2016 in ein Vektor umwandeln, so dass dort steht 05 04 2016 nur fehlt mir der Ansatz.

Aber fange ich mal vorne an:

Als erstes habe ich eine Gui erstellt, indem ich mit einer Taste den Kalender uicalendar aufrufe. Anschliessend wähle ich ein Datum im Kalendar auf und übernehme dieses. In einem Edit wird mir dann das Datum 05-Apr-2016 angezeigt.
sowiet so gut.

Nun möchte ich dieses Datum sozusagen aufspalten, das ich später den "Tag" (Tag=5), "Monat" (Monat=4) und das "Jahr" (Jahr=2016) einzeln weiterverarbeiten kann.

Mein Ansatz wäre jetzt das dargestellte Datum mit dem Befehl datevec umzuwandeln, nur bekomme ich da alles raus nur nicht das richtige Ergebnis.

Code:
test = edit    %(05-Apr-2016), da kommt eine Zahl raus wie 19.063.... das kann    %ja schon nicht sein...

formatIn = 'dd-mmm-yyyy';
DatumVektor = datevec(test,formatIn)  %


% Ergebnis : DatumVektor =

Columns 1 through 4

0 1.000000000000000 19.000000000000000 1.000000000000000

Columns 5 through 6

31.000000000000000 45.468799999915063

Wie man sieht, ist das nicht das gewollte Ergebnis...

Wäre für jeden Tip dankbar.


Gruß
luep

[EDITED, Jan: Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 05.04.2016, 15:20     Titel:
  Antworten mit Zitat      
Was soll den bitte

Code:


tun? Es öffnet den Editor in gibt 1 zurück...

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
luep
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2016, 15:38     Titel:
  Antworten mit Zitat      
Sorry, mein Fehler, nicht edit sondern die variable S.ed (also das Datum was im edit-fenster steht).

Vllt nochmal einen Schritt weiter vor..

Code:
S.kal = uicalendar('SelectionType', 1, ...
'DestinationUI', S.ed,...
'OutputDateStyle',1);
% Dort öffnet der Kalender, ich gebe ein Datum ein (05-Apr-2016)
% Nun wird das Datum in S.ed geschrieben, also (05-Apr-2016)


und nun möchte ich wie oben geschrieben, einen Vektor erzeugen der Bspw so aussieht: DatumVektor = 5 4 2016


[EDITED, Jan: Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
luep
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 09:27     Titel:
  Antworten mit Zitat      
Hallo zsm,

habe dies immer noch nicht wirklich lösen können und wollte daher nochmal fragen, ob einer einen Ansatz hat.

hier schhreibe ich nochmal den Code rein:

Code:
% Rahmen
S.fh = figure('units','pixels',...
              'position',[300 140 950 600],...
              'menubar','none',...
              'name','Diagramm1',...
              'numbertitle','off',...
              'resize','off');
 
% Box, indem das ausgewählte Datum hereingeschrieben werden soll
S.ed7 = uicontrol('Style', 'Edit', ...  
                  'Position', [580 130 100 20], ...  
                  'BackgroundColor', 'w');
             
% Kalenderaufruf und Auswahlmöglichkeit              
S.kal = uicalendar('SelectionType', 0, ...
'DestinationUI', S.ed7);

%Variable DATA soll das Datum aus der Edit (S.ed7) lesen und erst einmal als String abspeichern.

DATA = ????
 


Nun ruft das Programm den Kalender auf indem man ein Datum auswählen kann,
dann drückt man okay und das Datum wird in EDIT geschrieben.
Nun möchte ich dieses Datum in eine Variable DATA speichern.


nur komm ich iwie nicht an den String der Edit.


Bin für jeden Tipp dankbar.


Gruß

[EDITED, Jan: Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.04.2016, 10:07     Titel:
  Antworten mit Zitat      
Hallo,

es gibt 2 Möglichkeiten...

Code:

% Zugriff auf Editfeld
UserInput = S.ed7.String; % für Matlab Version ab R2014b

UserInput = get(S.ed7,'String');  % für Matlab Version vor R2014b
 


Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
luep
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 11:15     Titel:
  Antworten mit Zitat      
Hallo DSP,
danke für die schnelle Antwort.

Dies hatte ich auch vorher schon mal versucht, doch gibt mir in dem Fall, die Var "UserInput" das raus: '' --> also was leeres bzw. nix

Aber eigentlich sollte da ja das Datum stehen.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.04.2016, 11:20     Titel:
  Antworten mit Zitat      
Ohne ein Beispiel ist das schwer nachzuvollziehen.

Und bitte nutze in Zukunft die Code Umgebung, wenn du Code postest.

In diesem Beipiel sollte doch die Umwandlung wie gewünscht sein:

Code:

formatIn = 'dd-mmm-yyyy';
DatumVektor = datevec('05-Apr-2016', formatIn)

DatumVektor =

        2016           4           5           0           0           0
 
Private Nachricht senden Benutzer-Profile anzeigen
 
luep
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 11:37     Titel:
  Antworten mit Zitat      
Code:
formatIn = 'dd-mmm-yyyy';
DatumVektor = datevec('05-Apr-2016', formatIn)


Das ist mein Ziel.

Jedoch bekomme ich bei
Code:
UserInput= get(S.ed7,'string')

nichts ausgelesen, denn zurück gibt er: ''


Also liest/speichert UserInput das schon gar nicht. Der Fehler liegt im S.ed7 'String',
denn da wird gar nichts gespeichert jedoch im Edit Angezeigt.
Da liegt wohl der Hund begraben


Code:
% Rahmen
S.fh = figure('units','pixels',...
              'position',[300 140 950 600],...
              'menubar','none',...
              'name','Diagramm1',...
              'numbertitle','off',...
              'resize','off');
 
% Box, indem das ausgewählte Datum hereingeschrieben werden soll
S.ed7 = uicontrol('Style', 'edit', ...  
                  'Position', [580 130 100 20], ...  
                  'BackgroundColor', 'w');
             
% Kalenderaufruf und Auswahlmöglichkeit              
S.kal = uicalendar('SelectionType', 1, ...
'DestinationUI', S.ed7,...
'OutputDateStyle',1);

UserInput = get(S.ed7,'String')

formatIn = 'dd-mmm-yyyy';
DatumVektor = datevec(UserInput, formatIn)
Private Nachricht senden Benutzer-Profile anzeigen
 
luep
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 11.07.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 12:38     Titel:
  Antworten mit Zitat      
Danke DSP,

ich habe es jetzt doch iwann hinbekommen, auch durch deine Hilfe!
Vielen lieben Dank nochmal!!!

Lösung:

Code:
% Rahmen
S.fh = figure('units','pixels',...
              'position',[300 140 950 600],...
              'menubar','none',...
              'name','Diagramm1',...
              'numbertitle','off',...
              'resize','off');
 
% Box, indem das ausgewählte Datum hereingeschrieben werden soll
S.ed7 = uicontrol('Style', 'edit', ...  
                  'Position', [580 130 100 20], ...  
                  'BackgroundColor', 'w');
             
% Kalenderaufruf und Auswahlmöglichkeit              
uicalendar('DestinationUI', {S.ed7, 'String'});
waitfor(S.ed7, 'String');
UserInput= get(S.ed7, 'string');

%DatumVektor erstellen
formatIn = 'dd-mmm-yyyy';
DatumVektor = datevec(UserInput, formatIn)
 
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 - 2025 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.