2013-04-19 12 views
9

("AAAA-MM-GG") Ho un costruttore che prende un oggetto DateTime:Calling ToString risultati in formato data errata

public Report(DateTime date, string start = "0", string end = "0") 
{ 
    Logger.Info("Creating a new Report..."); 

    StartTime = start; 
    EndTime = end; 
    Date = date.ToString("YYYY-mm-dd"); 

    SetStartEndTimes(); 

    Logger.Info("Report Created"); 
} 

Ora, questo stava lavorando bene solo 3 giorni fa. Tuttavia, oggi torno, dopo una pausa, e questo è il risultato che sto vedendo:

enter image description here

Come si può vedere, la data viene passata in è giusto. Tuttavia, dopo il formato, non lo è. Ancora una volta, questo ha funzionato prima della mia interruzione. Torno, e ho capito. Mi sto perdendo qualcosa? Perché dovrebbe formattarsi in modo errato dopo aver lavorato dall'inizio?

EDIT

Grazie ragazzi. La parte incasinata sta guardando attraverso il controllo del codice sorgente nelle versioni precedenti, questo ha funzionato. O forse l'ho immaginato funzionante. Non lo so. Ma è stato così per circa 3 mesi.

+1

Minuscolo "m" sta per minuto, non mesi! La "Y" maiuscola deve essere minuscola "y". –

+0

YYYY non è valido per l'anno. È yyyy E il mm è * minuti *, quindi stai mostrando 49 sopra. Rendi quel MM. – itsmatt

risposta

17

anno deve essere in minuscolo e maiuscolo mese:

Date = date.ToString("yyyy-MM-dd"); // btw, lowercase mm means minutes 

Custom Date and Time Format Strings

+0

Mi sembra a me ... –

+1

@Tim Ti riferisci al fatto che la variabile non ha un nome? Non penso che valga davvero la pena. –

+0

@JohnWillemse va bene, la linea di per sé non sarebbe corretta, ma 'Date' è dichiarata come una proprietà. L'evidenziazione della sintassi fa sembrare il tipo 'Date' invece che una proprietà' Date'. In ogni caso, la domanda è stata esaudita. –

7

questo:

Date = date.ToString("YYYY-mm-dd"); 

dovrebbe essere questo:

Date = date.ToString("yyyy-MM-dd"); 

minuscole mm vi darà minuti.

+0

ciò comporterà "YYYY-02-19" o simili –

+1

Y maiuscole non sono corrette! –

+0

@JohnWillemse Non più! – DGibbs