Dar*_*rov 23

我怀疑你/{0}占位符中使用了这个符号.它是在给定文化中用作日期时间分隔符的保留符号.你可以逃脱它,像这样:

string date = string.Format("{0:dd\\/MM\\/yyyy}", DateTime.Now);
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 13

根据自定义日期和时间格式字符串,/指文化的日期分隔符.所以你需要逃避它.您可以根据Darin的答案使用反斜杠,也可以用单引号引用它.例如:

using System;
using System.Globalization;

class Test
{
    static void Main()
    {
        DateTime date = DateTime.Now;

        CultureInfo da = new CultureInfo("da");
        // Prints 09-08-2011
        Console.WriteLine(string.Format(da, "{0:dd/MM/yyyy}", date));
        // Prints 09/08/2011
        Console.WriteLine(string.Format(da, "{0:dd'/'MM'/'yyyy}", date));
        // Prints 09/08/2011
        Console.WriteLine(string.Format(da, "{0:dd\\/MM\\/yyyy}", date));
    }
}
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 6

我尝试过所有可能的文化:

foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.AllCultures)) {
  Console.Write(String.Format(info, "/"));
}
Run Code Online (Sandbox Code Playgroud)

输出:

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////
Run Code Online (Sandbox Code Playgroud)

所以,这不会发生在任何地方.