CString in CTime konvertieren



  • Hallo,
    wie kann ich ein CString in ein gültiges Datumsformat konvertieren(CTime)?
    Ich habe folgenden String:

    CString str = "12.04.2004";
    

    und möchte diesen jetzt im Kalender (CMonthCalCtrl) angezeigt bekommen und dafür muss ich ihn ja in ein Datums-/Zeit-Format umwandeln...

    Weis jemand wie soetwas geht, oder kann mir nen Link zu einer fertigen Klasse geben?



  • Dieser Thread wurde von Moderator/in flenders aus dem Forum WinAPI in das Forum MFC mit dem Visual C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ist das nicht WinAPI? Na egal...
    Ich hab ein bischen rumprobiert und bin zu folgendem Ergebnis gekommen:

    CString str;
    	char Day[3],Month[3],Year[5];
    	COleDateTime codt;
    
    	str = "12.04.2004";
    
    	Day[0] = str.GetAt(0);
    	Day[1] = str.GetAt(1);
    	Day[2] = '\0';
    
    	Month[0] = str.GetAt(3);
    	Month[1] = str.GetAt(4);
    	Month[2] = '\0';
    
    	Year[0] = str.GetAt(6);
    	Year[1] = str.GetAt(7);
    	Year[2] = str.GetAt(8);
    	Year[3] = str.GetAt(9);
    	Year[4] = '\0';
    
    	codt.SetDate(atoi(Year),atoi(Month),atoi(Day));
    	m_cal.SetToday(codt);
    

    Das funktioniert soweit auch ganz gut, nur sieht es eben im Quellcode nicht so hübsch aus.
    Hat vielleicht einer von euch noch ein Vorschlag wie man es verbessern könnte?



  • wie wärs damit?

    CString str;
    COleDateTime codt;
    str = "12.04.2004";
    
    codt.SetDate(
       atoi(str.Right(4).GetBuffer(0)),
       atoi(str.Mid(3,2).GetBuffer(0)),
       atoi(str.Left(2).GetBuffer(0))
    );
    


  • Schau' dir mal COleDateTime::ParseDateTime an.


Anmelden zum Antworten