CString zu Datum?



  • Moin,

    Wie kann ich eine Membervaribale vom Typ CString an eine Membervaribale vom Typ COleDateTime übergeben?

    Momentan versuch ich das so:

    m_Time = COleDateTime::GetCurrentTime(); 
    	m_Day = m_Time.Format( "%A" );
    
    	if(m_Day == "Monday")
    	{
    		COleDateTimeSpan tSpan(0, 0, 0, 0); 
    		m_Time = m_Time - tSpan;
    		CString cMontag = m_Time.Format("%d.%m.%y");
    		m_Montag = cMontag;
    	}
             //und so weiter analog für die folgenden Tage
    

    An der Stelle m_Montag = cMontag bricht er dann ab, weil cMontag vom Typ CString ist und m_Montag vom Typ COleDateTime.

    Wie kann ich das umwandeln?

    Danke schonmal!



  • Auch wenn mir nicht ganz klar ist was das soll: Du holst dir das aktuelle Dataum, wandelst das in einen CString un willst dann zurückwandeln in ein Datum?

    Naja:

    int iDay = atoi( cMontag.GetBuffer(cMontag.GetLength());
    m_Montag.SetDate( iYear, iMonth, iDay );
    

    atoi wabdelt den string wieder in ein int -> das kannst du dann setzen mit SetDate.



  • Der Code den ich gepostet hatte, war nur ein Beispiel, wie ich es versucht hatte. Bin natürlich auch für ganz andere Varianten offen. 😉

    Werde es trotzdem mal mit deinem Beispiel versuchen. Danke dafür!



  • anderer vorschlag 😉

    du könntest auch dir eine method bauen die den datum string in tag monat jahr zerschneidet und diese übergibst du dann dem Konstruktor fuer dein CTime bzw. ColeDateTime...

    MfG

    T1c4L

    p.s.
    pls antworte auf mein Post ich komm auch nicht wieter :ppp 😋 👍



  • Also, der Beitrag von TheBigW hat mir gezeigt, dass ich mal wieder viel zu kompliziert an die Sache rangegangen bin!
    Folgendenmaßen hab ich das jetzt gemacht.

    if(m_Day == "Monday")
    	{
    		COleDateTimeSpan tSpan(0, 0, 0, 0); 
    		m_Time = m_Time - tSpan;
    		m_Montag = m_Time;
    	}
    

    Ganz simpel also! Und funktioniert! 😉

    Danke für die Hilfe!


Anmelden zum Antworten