35

I have a datetimepicker which on loading of windows form shows me format in 'MM-dd-yyyy',

as follows:

enter image description here

I would like it in dd-MM-yyyy.

I tried the following:

set custom format: "dd-MM-yyyy"

But Its not changing.

What could be the problem?

Please help me.

FeliceM
  • 3,985
  • 9
  • 42
  • 70
C Sharper
  • 6,958
  • 19
  • 73
  • 132

5 Answers5

85

Ensure that control Format property is properly set to use a custom format:

DateTimePicker1.Format = DateTimePickerFormat.Custom

Then this is how you can set your desired format:

DateTimePicker1.CustomFormat = "dd-MM-yyyy"
ElektroStudios
  • 17,150
  • 31
  • 162
  • 376
23

Ammending as "optional Answer". If you don't need to programmatically solve the problem, here goes the "visual way" in VS2012.

In Visual Studio, you can set custom format directly from the properties Panel: enter image description here

First Set the "Format" property to: "Custom"; Secondly, set your custom format to: "dd-MM-yyyy";

Arthur Zennig
  • 1,474
  • 16
  • 16
  • this way you can also set Format to Short if the Culture Information contains the desired behavior. e.g. German Culture *short* will bring *dd.MM.yyyy* – LuckyLikey Mar 16 '17 at 08:27
12

You could easily use:

label1.Text = dateTimePicker1.Value.Date.ToString("dd/MM/yyyy")

and if you want to change '/' or '-', just add this:

label1.Text = label1.Text.Replace(".", "-")

More info about DateTimePicker.CustomFormat Property: Link

Umut D.
  • 1,557
  • 20
  • 22
8

Try this,

string Date = datePicker1.SelectedDate.Value.ToString("dd-MMM-yyyy");

It worked for me the output format will be '02-May-2016'

3

You can set CustomFormat property to "dd-MM-yyyy" in design mode and use dateTimePicker1.Text property to fetch string in "dd/MM/yyyy" format irrespective of display format.

Pabitra Dash
  • 1,249
  • 1
  • 19
  • 24