我也尝试过屏蔽格式化字符串中的“/”符号,但效果不佳。我的最终目标是获取以“/”符号作为分隔符的日期。我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/')
,但这感觉有点过分。
问问题
46604 次
4 回答
41
/
日期/时间格式字符串中的字符代表“格式提供程序的日期分隔符是什么”。由于您不提供格式提供程序Thread.CurrentCulture
,因此在您的情况下,当前区域性.
用作日期分隔符。
如果要使用文字斜线,请将其放在单引号内:
dateTime.ToString("dd'/'MM'/'yyyy");
或者,您可以指定日期分隔符为的格式提供程序/
:
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
以上所有内容都记录在 MSDN 上。
于 2013-03-07T14:08:20.567 回答
2
string s = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
于 2013-03-07T14:08:38.733 回答
2
这是因为ToString
默认情况下的工作方式,根据当前的文化:
此方法使用从当前区域性派生的格式信息。
所以,覆盖它:
string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
于 2013-03-07T14:10:53.977 回答
1
这有效(注意InvariantCulture
):
DateTime.Now.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)
如果CultureInfo
未指定 a,CurrentCulture
将使用 。如果这是一种在日期中不使用斜杠作为分隔符的区域性,则它将替换为实际区域性日期分隔符。
于 2013-03-07T14:09:38.823 回答