从msdn开始,似乎我可以使用Datetime.ToString()
等方法使用M, m, d, y
等方法创建自己的格式。但是当我尝试使用7/29/2015
时,它没有按预期工作,下面剪断是这个问题。
我期待7-29-2015
但收到{{1}} !!!为什么呢?
答案 0 :(得分:20)
您DateSeparator
CurrentCulture
的"/"
custom format specifier似乎是-
,这就是/
字符替换它的原因。
InvariantCulture
具有特殊含义,因为将我替换为当前文化或提供的文化日期分隔符。
您有几个选项,可以使用单引号(或逐字字符串文字中的\/
)转义它,也可以使用/
作为DateSeparator
的文化,例如{{} 3}}
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);