Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Display only Date in @Html.DisplayFor() in MVC

I work in MVC5 and EntityFramework for displaying data into View.

right now in my view data format is :- 10/22/2014 12:00:00 AM But i want only date :- 22/10/2014 in this format

i try this code but it not working

 @if (item.chekin_on_after != null)
                    { @Html.DisplayFor(modelItem => item.chekin_on_after, "ShortDateTime")}

I also follow few link in stackoverflow but not helpful Date Format using Html.DisplayFor() in MVC5, Display only date and no time

like image 326
ANJYR Avatar asked Oct 20 '14 11:10

ANJYR


3 Answers

I didn’t use @html.DisplayFor().Instead of this I use

@Convert.ToString(string.Format("{0:dd/MM/yyyy}", item.chekin_on_after))

And it works perfectly.

like image 115
ANJYR Avatar answered Nov 13 '22 19:11

ANJYR


Try to use below attribute in your model class.

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

Hope it helps..

like image 34
Nirav Parmar Avatar answered Nov 13 '22 19:11

Nirav Parmar


You can use this function in your controller before populating the data to model :

public static System.DateTime ParseDate(string value, string style)
{
    DateTime blankDate = default(DateTime);
    if ((value != null & value.Length > 0)) {
        string formattedDate = Strings.Format(Convert.ToDateTime(value), style);
        return formattedDate;
    } else {
        return blankDate;
    }
}

Where value is your: 10/22/2014 12:00:00 AM and style is :"MM/dd/yyyy" or something as you want

like image 2
Tushar Avatar answered Nov 13 '22 17:11

Tushar