2009-12-21 32 views
6

Esta líneaconvertir la serie hasta la fecha sin tiempo

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

fecha convert (cadena) a 9/12/2009 12:00:00 AM. ¿Cómo puedo obtener una fecha en el formulario 9/12/2009?

después de las explicaciones que hago:

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

¿Quieres el 9 de diciembre o el 12 de septiembre? –

+0

Quiero 9 de diciembre – Ognjen

+0

Consulte este enlace: [Haga clic en] (http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm)
para obtener más ayuda que desee con la fecha (fecha-hora) formateo ... :) –

Respuesta

21

Su problema no es con el análisis pero con la salida. Mira cómo ToString obras para DateTime, o utilizar este ejemplo:

using System; 

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

O para conseguir algo en su localidad:

Console.WriteLine(dt.ToShortDateString()); 

Actualización: Su actualización a la pregunta implica que no se entiende completamente mi responde todavía, así que añadiré un poco más de explicación. No hay Fecha en .NET - solo hay DateTime. Si desea representar una fecha en .NET, hágalo guardando la hora de la medianoche al comienzo de ese día. El tiempo siempre debe almacenarse, incluso si no lo necesita. No puedes eliminarlo El punto importante es que cuando muestra este DateTime a un usuario, solo le muestra la parte de fecha.

+2

+1 Aquí está la mejor lista que he encontrado, he tenido este marcador por años, de sobrescrituras de formato. http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm –

+0

@Clarence: ¡Buena lista! –

+0

Esa es la lista a la que vinculé la palabra ToString. :) –

4

Todo lo analizado en un objeto DateTime contendrá fecha + hora. Si no se separa el tiempo, el valor supuesto será 0000hr.

Para obtener la representación de solo fecha, depende de cómo la formatee para la cadena.

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

Consulte el MSDN Date and Time Format Strings.

0

si desea convertir la columna de fecha y hora gridview hasta la fecha sólo columna de utilizar este código:

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; 
}); 

He probado el código que va a funcionar si enlaza la fecha y hora como cadena en vgd.

Cuestiones relacionadas