Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DateTime ToString(“dd/MM/yyyy”) returns dd.MM.yyyy

I have also tried shielding the '/' symbol in the formatting string, but it didn't quite work. My final goal is to get the date with the '/' symbols as separators. I guess I can use DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/'), but that feels a bit excessive.

like image 691
Javid Bunyadzade Avatar asked Mar 07 '13 14:03

Javid Bunyadzade


1 Answers

The / character in date/time format strings stands for "whatever the date separator of the format provider is". Since you do not supply a format provider Thread.CurrentCulture is used, and in your case the current culture uses . as the date separator.

If you want to use a literal slash, place it inside single quotes:

dateTime.ToString("dd'/'MM'/'yyyy");

Alternatively, you could specify a format provider where the date separator is /:

dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

All of the above is documented on MSDN.

See the difference in a live example.

like image 137
Jon Avatar answered Oct 14 '22 17:10

Jon