Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

di il
6 risposte

Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

Salve, dovrei convertire da SYSTEMTIME a CString in questo formto:

lunedì 3 settembre 1995, 14:16:56

sto cercando su internet ma non trovo questo tipo di conversione

6 Risposte

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

    Hai usato il metodo Format della CString?

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

        cstrMessage.Format(_T("%a %d-%02d-%02d %02d:%02d:%02d"),

                                        st.wDayOfWeek,
                                        st.wDay,
                                        st.wMonth,
                                        st.wYear,
                                        st.wHour,
                                        st.wMinute,
                                        st.wSecond);

    ma non è corretto

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

    Cosa vuol dire “non è corretto”?

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

    Mi dà errore, la stringa non viene scritta, il programma crasha

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

    Controlla meglio gli specificati nella stringa

    %a non ha senso…

    Fai le prove per parti, dovresti riuscirci

  • Re: Convertire da SYSTEMTIME a CString, utilizzando librerie MFC

    Se non hai risolto, un esempio semplice (anche per essere indipendente da lingue e versioni di sistema operativo, ma fai attenzione all'ora locale) potrebbe essere questo

        TCHAR *dw[] = {L"Domenica", L"Lunedì", L"Martedì", L"Mercoledì", L"Giovedì", L"Venerdì", L"Sabato"};
        TCHAR *mn[] = {L"gennaio", L"febbraio", L"marzo", L"aprile", L"maggio", L"giugno",
                       L"luglio", L"agosto", L"settembre", L"ottobre", L"novembre", L"dicembre"};
        
        SYSTEMTIME st;
        GetLocalTime(&st);
        
        CString cstrMessage;
        cstrMessage.Format(_T("%s %02d %s %d, %02d:%02d:%02d"),
            dw[st.wDayOfWeek],
            st.wDay,
            mn[st.wMonth-1],
            st.wYear,
            st.wHour,
            st.wMinute,
            st.wSecond);
Devi accedere o registrarti per scrivere nel forum
6 risposte