繁体   English   中英

DateTime ToString(“dd / MM / yyyy”)返回dd.MM.yyyy

[英]DateTime ToString(“dd/MM/yyyy”) returns 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 如果这是一种不在日期中使用斜杠作为分隔符的文化,则它将替换为实际的文化日期分隔符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM