Wichtig! Zahl zu Datum



  • Hi

    hab folgendes Problem: Wie berechne ich aus einer Zahl, das aktuelle Datum, dabei ist zum Beispiel die 1 der erste Januar usw.

    Eine fuznktion die mir sagt obs ein Schaltjahr gibt hab ich:

    int CDateDlg::Schaltjahr(int Jahr)
    {
    	if (Jahr % 4 == 0)
    		if (Jahr < 1582)
    			return 1;
    		else if (!(Jahr % 100 == 0))
    			return 1;
    		else if (Jahr % 400 == 0)
    			return 1;
    
    	return 0;
    
    }
    

    Wie errechne ich jetzt das Datum zum Beispiel von der Zahl 33, dass das der 2.2.2004 ist?

    Danke



  • Das geht z.B. so (auf das aktuelle Jahr bezogen):

    COleDateTime t = COleDateTime::GetCurrentTime();	// aktueller Zeitpunkt
    t.SetDate(t.GetYear(), 1, 1);	// erster Januar von dem laufenden Jahr
    t.m_dt += nTage-1;	// beliebiges Datum setzen
    

    nTage ist ein integer, in dem die angesprochene Zahl steht, die in das Datum umgewandelt werden soll.
    Und mit t.GetDay(), t.GetMonth() und t.GetYear() kannste das Datum wieder auslesen.

    Und weil COleDateTime eine klasse Klasse ist, ist das mit den Schaltjahren da schon mit drin. Musst du dich gar nicht drum kümmern.



  • Danke funktioniert!


Anmelden zum Antworten