2009-12-21 15 views
6

Questa lineaconvertire stringa data senza tempo

System.DateTime.Parse("09/12/2009"); 

data convertire (stringa) a 9/12/2009 12:00:00. Come posso ottenere una data nel modulo 9/12/2009.

dopo le spiegazioni che faccio:

DateTime dt = System.DateTime.Parse(Request.Form["datepicker"]); 
dt.ToString("dd/mm/yyyy"); 
/* and this code have time, why???*/ 
+2

Vuoi il 9 dicembre o il 12 settembre? –

+0

Desidero 9 dicembre – Ognjen

+0

Fare riferimento a questo collegamento: [Fare clic su di me] (http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm)
per ulteriore assistenza desiderata con la data (data-ora) formattazione .. :) –

risposta

21

Il tuo problema non è con il parsing, ma con l'uscita. Guardate come ToString lavori per DateTime, o utilizzare questo esempio:

using System; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     DateTime dt = DateTime.Parse("09/12/2009"); 
     Console.WriteLine(dt.ToString("dd/MM/yyyy")); 
    } 
} 

O per ottenere qualcosa nel vostro locale:

Console.WriteLine(dt.ToShortDateString()); 

Update: Il tuo aggiornamento alla domanda implica che non si capisce pienamente il mio rispondi ancora, quindi aggiungerò qualche altra spiegazione. Non c'è data in .NET - c'è solo DateTime. Se desideri rappresentare una data in .NET, lo fai memorizzando l'ora a mezzanotte all'inizio di quel giorno. L'orario deve sempre essere conservato, anche se non ne hai bisogno. Non puoi rimuoverlo. Il punto importante è che quando si visualizza questo DateTime a un utente, si mostra solo la parte Data.

+2

+1 Ecco la lista migliore che ho trovato, ho avuto questo segnalibro per anni, di sovrascrittura del formato. http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm –

+0

@Clarence: Buona lista davvero! –

+0

Questa è la lista a cui ho collegato la parola ToString. :) –

4

Qualsiasi elemento analizzato su un oggetto DateTime conterrà data + ora. Se nessun tempo è settato, il valore assunto sarà 0000hr.

Per ottenere la rappresentazione di sola data, è il modo in cui lo si formatta in stringa.

E.g. theDate.ToString("dd/MM/yyyy")

Fare riferimento a MSDN Date and Time Format Strings.

0

se si desidera convertire colonna datetime gridview finora unica colonna di questo codice:

raddgvDaybook.Rows.ToList().ForEach(x => 
{ 
    DateTime dt = DateTime.Parse(x.Cells["Vocdate"].Value.ToString()); 
    string str = string.Format("{0:MM/dd/yyyy}", dt); 
    x.Cells["Vocdate"].Value = str; 
}); 

ho provato il codice che funzionerà se si associa il datetime come stringa in DGV.

Problemi correlati