Datetime.ToString()C#没有按预期工作

yog*_*ogi 8 c# datetime

从msdn看起来我可以Datetime.ToString()通过使用M, m, d, y等方法创建我自己的格式.但是当我尝试一个它没有按预期工作时,下面剪断是问题.

在此输入图像描述

我期待7/29/2015但收到了7-29-2015!!! 为什么?

Son*_*nül 20

看起来你的DateSeparator是你CurrentCulture的-,这就是为什么/角色会替换它.

"/"自定义格式说明符具有特殊含义,因为用当前文化或提供的文化日期分隔符替换我.

您有几种选择,你要么用单引号转义(或\/在逐字字符串)或使用具有文化/作为DateSeparator像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);
Run Code Online (Sandbox Code Playgroud)