Jon Tackabury
Jon Tackabury

Reputation: 49289

C# date formatting is losing slash separators

If I do this in C#:

Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy"));

I would expect output like this:

Wed 6/15/11

But it actually outputs this:

Wed 6 15 11

Why are the slashes disappearing? Is there a way to prevent this and have the date outputted in the expected format?

Upvotes: 65

Views: 40482

Answers (3)

BaRtEr
BaRtEr

Reputation: 411

The default behavior of the "/" (slash) in a format argument is to use the current's culture date separator.

To force the "/" (slash), you must precede it with a "\" (backslash).

Ex.: "yyyy\\/MM\\/dd" will always display a date like "2015/07/02" independent of the current culture in use.

Upvotes: 41

Norbert
Norbert

Reputation: 4291

You could also use

Console.WriteLine(dateTime.ToString("ddd M'/'dd'/'yy"));

That's a possible solution if you're not using the invariant culture as mentioned in other answers here.

Upvotes: 33

David
David

Reputation: 4285

Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy", CultureInfo.InvariantCulture));
            Console.ReadLine();

try the above

Upvotes: 104

Related Questions