yyyy formato fecha c# asp.net asp.net-mvc data-annotations

c# - fecha - Asignar formato de DateTime con anotaciones de datos?



formato fecha datetime c# (9)

¿Has intentado esto?

[DataType(DataType.Date)]

Tengo este atributo en mi modelo de vista:

[DataType(DataType.DateTime)] public DateTime? StartDate { get; set; }

Si quiero mostrar la fecha, o llenar un cuadro de texto con la fecha, tengo estos:

<%: Model.StartDate %> <%: Html.TextBoxFor(m => m.StartDate) %>

Cada vez que se muestra la fecha, se muestra como: 01/01/2011 12:00:00 AM

Pero me gustaría mostrar solo 01/01/2011

¿Hay alguna manera de aplicar un formato de visualización con anotaciones de datos? No quiero tener que ir a cada instancia donde muestre una fecha, y agregar algún código para formatearlo.


Aplicar DataAnnotation como:

[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")]



En mvc 4 puedes hacerlo fácilmente siguiendo las siguientes TextBoxFor usando TextBoxFor ..

@Html.TextBoxFor(m => m.StartDate, "{0:MM/dd/yyyy}", new { @class = "form-control default-date-picker" })

Por lo tanto, no necesita utilizar ninguna anotación de datos en el modelo o ver la clase de modelo


Intenta etiquetarlo con:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]


Si su campo de datos ya es un tipo de datos DateTime, no necesita usar [DataType(DataType.Date)] para la anotación; Solo usa:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]

en jQuery, usa datepicker para tu calendario

$(document).ready(function () { $(''#StartDate'').datepicker(); });

en su HTML, use EditorFor helper:

@Html.EditorFor(model => model.StartDate)


Usa esto, pero es una solución completa:

[DataType(DataType.Date)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]


Use EditorFor en lugar de TextBoxFor


establezca su propiedad usando el código siguiente al momento de la creación del modelo, creo que su problema será resuelto ... y el tiempo no aparece en la base de datos. No necesita agregar ninguna anotación.

private DateTime? dob; public DateTime? DOB { get { if (dob != null) { return dob.Value.Date; } else { return null; } } set { dob = value; } }