none
Problema al visualizar un campo fecha RRS feed

  • Pregunta

  • Buenas tardes, escribo en esta oportunidad porque tengo un problema con un dato fecha en asp.net core, en el modelo cuando lo definí lo coloque así:

    [DataType(DataType.Date)]
    [Column(TypeName = "Date")]
    public DateTime Cmo_periodo { get; set; }
    pero cuando lo visualizo en un input text se muestra así: 2017-01-01T00:00:00, como hago para que solo se obtenga la fecha es decir, 2017-01-01?

    miércoles, 13 de febrero de 2019 20:41

Todas las respuestas

  • hola

    >>pero cuando lo visualizo en un input text se muestra así: 2017-01-01T00:00:00

    como lo asignas en el view ? usas el @Html.TextBoxForm()

    porque quizas debas validar

    Display DateTime value in dd/mm/yyyy format in Asp.NET MVC

    donde usa

    @Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")

    Pero si usas

    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", 
                   ApplyFormatInEditMode = true)]
    public DateTime MyDateTime { get; set; }

    deberias aplicar

    @Html.EditorFor(x => x.MyDate)

    o

    @Html.DisplayFor(x => x.MyDate)

    para que haga uso del atributo [DisplayFormat]

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 13 de febrero de 2019 23:54
  • Disculpa lo estoy visualizando es una tabla, es que esa tabla la lleno con una lista que se la llamo por ajax y la devuelvo en formato json.

    Lo que no entiendo es que si en el modelo la defino que va ser de tipo Date porque cuando traigo los datos, me la visualiza asi: 2017-01-01T00:00:00?

    • Editado TeresaAgui jueves, 14 de febrero de 2019 16:13 anexando duda
    jueves, 14 de febrero de 2019 16:03
  • hola

    >>es que esa tabla la lleno con una lista que se la llamo por ajax y la devuelvo en formato json.

    pero json no tiene nada que ver con los atributos

    [DataType(DataType.Date)]
    [Column(TypeName = "Date")]

    que defines en la clase, estos solo aplican si usas @Html.TextBoxFor() o @Html.DisplayFor() en la view

    si usas json no son utiles para nada, no aplicaran formato

    Debrias enviar el json con esa propiedad como string o sino usar la libreria moment.js para convertir el Date de javascript del json para asignarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 14 de febrero de 2019 16:45