C# DateTime ToString(“;dd/MM/yyyy”;)返回dd.MM.yyyy
我也尝试过屏蔽格式化字符串中的“/”符号,但效果不太好。我的最终目标是用“/”符号作为分隔符来获取日期。我想我可以使用C# DateTime ToString(“;dd/MM/yyyy”;)返回dd.MM.yyyy,c#,asp.net,datetime,C#,Asp.net,Datetime,我也尝试过屏蔽格式化字符串中的“/”符号,但效果不太好。我的最终目标是用“/”符号作为分隔符来获取日期。我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace(“.”,“/”),但这感觉有点过分。日期/时间格式字符串中的/字符代表“格式提供程序的日期分隔符是什么”。由于您不提供格式提供程序线程,因此使用了CurrentCulture,在您的情况下,当前区域性使用作为日期分隔符 如果要使用文字斜杠,请将其放在单引号内: dateTime.ToString("d
DateTime.ToString(“dd/MM/yyyy”).Replace(“.”,“/”)
,但这感觉有点过分。日期/时间格式字符串中的/
字符代表“格式提供程序的日期分隔符是什么”。由于您不提供格式提供程序线程,因此使用了CurrentCulture
,在您的情况下,当前区域性使用
作为日期分隔符
如果要使用文字斜杠,请将其放在单引号内:
dateTime.ToString("dd'/'MM'/'yyyy");
或者,您可以指定日期分隔符为/
的格式提供程序:
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
所有这些都是不可能的
这种方法有效(注意:
string s = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
如果未指定
CultureInfo
,则将使用CurrentCulture
。如果这是一个不使用斜杠作为日期分隔符的区域性,它将被实际的区域性日期分隔符所取代。这是因为按照当前区域性的方式:
此方法使用从当前文件派生的格式信息
文化
因此,请忽略以下内容:
string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)
这是唯一一个真正回答问题“为什么”部分的答案(即“/”是特定于文化的分隔符)+1
string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture)