DateTime ToString(“dd / MM / yyyy”)返回dd.MM.yyyy
我也尝试屏蔽格式化字符串中的’/’符号,但它不太起作用。 我的最终目标是使用’/’符号作为分隔符来获取日期。 我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/')
,但感觉有点过分。
日期/时间格式字符串中的/
字符代表“格式提供者的日期分隔符”。 由于您不提供格式提供程序,因此使用了Thread.CurrentCulture
,并且在您的情况下使用当前区域性.
作为日期分隔符。
如果要使用文字斜杠,请将其放在单引号内:
dateTime.ToString("dd'/'MM'/'yyyy");
或者,您可以指定日期分隔符为/
的格式提供程序:
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
所有上述内容都记录在MSDN上 。
查看实例中的差异 。
string s = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
这是因为默认情况下ToString
工作方式符合当前的文化:
此方法使用从当前文化派生的格式信息。
所以,重写:
string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
这工作(注意InvariantCulture
):
DateTime.Now.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)
如果未指定CultureInfo
,则将使用CurrentCulture
。 如果这是一种不在日期中使用斜杠作为分隔符的文化,则它将被实际的文化日期分隔符替换。