Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Datetime.ToString() C# not working as expected

Tags:

c#

datetime

From msdn it seems like I can create my own format with Datetime.ToString() method by using M, m, d, y etc. But when I tried one it didn't worked as expected, snipped below is the issue.

enter image description here

I was expecting 7/29/2015 but received 7-29-2015 !!! why?

like image 671
yogi Avatar asked Jul 29 '15 12:07

yogi


1 Answers

Looks like your DateSeparator of your CurrentCulture is - and that's why / character replace itself to it.

"/" custom format specifier has a special meaning as replace me with current culture or supplied culture date separator.

You have a few options, you either escape it with single quotes (or \/ in a verbatim string literal) or use a culture that has / as a DateSeparator like InvariantCulture.

string s = DateTime.Now.ToString("M'/'d'/'yyyy");
string s = DateTime.Now.ToString(@"M\/d\/yyyy");
string s = DateTime.Now.ToString("M/d/yyyy", CultureInfo.InvariantCulture);
like image 166
Soner Gönül Avatar answered Oct 12 '22 02:10

Soner Gönül