【发布时间】:2013-02-22 18:30:04
【问题描述】:
我也尝试过屏蔽格式化字符串中的“/”符号,但效果不佳。我的最终目标是获取以“/”符号作为分隔符的日期。我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/'),但感觉有点过分了。
【问题讨论】:
我也尝试过屏蔽格式化字符串中的“/”符号,但效果不佳。我的最终目标是获取以“/”符号作为分隔符的日期。我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/'),但感觉有点过分了。
【问题讨论】:
日期/时间格式字符串中的/ 字符代表“格式提供程序的日期分隔符是什么”。由于您没有提供格式提供程序 Thread.CurrentCulture 被使用,并且在您的情况下,当前文化使用 . 作为日期分隔符。
如果您想使用 文字 斜线,请将其放在单引号内:
dateTime.ToString("dd'/'MM'/'yyyy");
或者,您可以指定日期分隔符为 / 的格式提供程序:
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
以上都是documented on MSDN。
【讨论】:
string s = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
【讨论】:
这是因为ToString works by default的方式,按照现在的文化:
此方法使用来自当前的格式信息 文化。
所以,覆盖它:
string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
【讨论】:
这行得通(注意InvariantCulture):
DateTime.Now.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)
如果未指定 CultureInfo,则将使用 CurrentCulture。如果这是一种不使用斜杠作为日期分隔符的区域性,则将其替换为实际区域性日期分隔符。
【讨论】: