19

When i write a date in C# by using

DateTime.Now.ToString("yyyy/MM/dd")

then it returns 2010-09-10, but I need 2010/09/10. How do I make it output slashes?

Timwi
  • 63,217
  • 30
  • 158
  • 225

3 Answers3

29

Use

DateTime.Now.ToString("yyyy'/'MM'/'dd");

/ - the date separator. It will be replaced according current culture. So you need enclose it with char literal delimiter (') to use it like char.

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator

ProfK
  • 46,970
  • 114
  • 378
  • 743
Andrey
  • 687
  • 6
  • 12
26

Specify a culture. Your current culture uses - for the separators, and that's what ToString defaults to (your current culture), unless you override it.

You can try this:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture)

but perhaps it would be better if you specified a different culture, for instance if you want the US culture:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.GetCultureInfo("en-US"))

Both of the above will give you / as a separator.

SwDevMan81
  • 47,539
  • 21
  • 146
  • 180
Lasse V. Karlsen
  • 366,661
  • 96
  • 610
  • 798
8

Another way is to specify the slashes as character literals:

DateTime.Now.ToString("yyyy'/'MM'/'dd");
"2010/09/10"
stuartd
  • 66,195
  • 14
  • 128
  • 158