I have a DateTime field in my SQL Server DB, and I would like to display just the date in short date form on a label in a WinForm (C#). I still get 06/01/2013 12:00:00, thou
You can also use:
string shortDate = DateTime.Now.ToString("yyyy-MM-dd");
Change the yyyy-MM-dd
format for the one you're looking for.
You can use DateTime.ToShortDateString:
label_date.Text = myDateTimeField.ToShortDateString();
Remarks:
The value of the current DateTime object is formatted using the pattern defined by the DateTimeFormatInfo.ShortDatePattern property associated with the current thread culture. The return value is identical to the value returned by specifying the "d" standard DateTime format string with the ToString(String) method.
The string returned by the ToShortDateString method is culture-sensitive. It reflects the pattern defined by the current culture's DateTimeFormatInfo object. For example, for the en-US culture, the standard short date pattern is "M/d/yyyy"; for the de-DE culture, it is "dd.MM.yyyy"; for the ja-JP culture, it is "yyyy/M/d". The specific format string on a particular computer can also be customized so that it differs from the standard short date format string.
You can use Data annotation in model (or in ViewModel) class like follows:
[DataType(DataType.Date)]
public DateTime DateOfExpiration { get; set; }
check the sequence of the date - month - year the input in sql is diffrent