Estoy utilizando el siguiente código¿Por qué DisplayFormat con DataFormatString cambia "/" (barra diagonal) a "-" (guión)?
// Model
[DisplayFormat(
ApplyFormatInEditMode = true,
DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime StartDate { get; set; }
// View
@Html.EditorFor(model => model.StartDate)
para formatear la StartDate
pero el resultado es xx-xx-xxxx
en lugar de xx/xx/xxxx
. ¿Cómo puedo resolver esto y siempre usar el formato xx/xx/xxxx
?
ACTUALIZACIÓN: Cambiar la cultura a en-US
parece funcionar:
var culture = new CultureInfo(userCulture);
System.Threading.Thread.CurrentThread.CurrentCulture = "en-US";
System.Threading.Thread.CurrentThread.CurrentUICulture = "en-US";
pero esto no es una solución porque puede estar usando una cultura diferente y todavía quiero mostrar la fecha en una forma diferente
Si el cultivo actual indica que la fecha debe mostrar dd-MM-yyyy
, entonces usar DisplayFormat
como arriba no tiene ningún efecto y las fechas no se muestran como dd/MM/yyyy
.
¿Qué quiere decir con "Puedo estar usando una cultura diferente y todavía quiero mostrar la fecha de una manera diferente"? –
Imagine que el usuario actual usa culture "pt-PT", luego DisplayFormat cambiará a "dd-MM-yyyy" (cómo debería ser) cuando quiero mostrarlo como: "dd/MM/yyyy" – Dryadwoods
Es un poco misterioso que, si la cultura de los usuarios dice que los guiones deberían ser los separadores, insistes en usar barras. –