1

我使用的是 Windows 8。我的文化是“en-IN”。但是日期时间的格式是 MM/dd/yyyy
尝试时

String.Format("{0:MM/dd/yyyy}", DateTime.Today);

给出像 2012 年 12 月 29 日这样的格式。

请建议我该怎么做。

4

5 回答 5

7

目前尚不清楚问题是什么。如果只是使用连字符而不是斜杠,那可能是因为您的文化的默认日期分隔符是连字符。选项包括:

  • 明确指定不同的文化(例如不变的文化)

    String.Format(CultureInfo.InvariantCulture, "{0:MM/dd/yyyy}", DateTime.Today);
    
  • 转义斜线:

    String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);
    

请注意,使用DateTime.Today.ToString(...)会比使用string.FormatIMO 更简单。

于 2012-12-29T08:33:20.337 回答
1

trt这个

 DateTime.Today.ToString("MM/dd/yyyy")
于 2012-12-29T08:26:35.980 回答
1

“/”是根据您的(或指定的)文化翻译的自定义日期分隔符。如果你真的想要斜杠,你需要引用它们:

String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);

逃避他们:

String.Format(@"{0:MM\/dd\/yyyy}", DateTime.Today);
于 2012-12-29T08:42:11.920 回答
1

嗯,是的 - 您当前的文化用于许多与格式相关的设置;

在这里,试试这个:

// Change culture
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-IN");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-IN");

// prints 12-29-2012
Console.WriteLine(string.Format("{0:MM/dd/yyyy}", DateTime.Today));

// Invariant culture, so ignore any culture-based settings
// prints 12/29/2012
Console.WriteLine(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:MM/dd/yyyy}", DateTime.Today));
于 2012-12-29T08:34:05.030 回答
0

我认为你应该试试这个

 DateTime.Today.ToString("MM/dd/yyyy")
于 2012-12-29T08:39:06.580 回答