我使用的是Windows 8.我的文化是“en-IN”。但是日期时间的格式是MM / dd / yyyy
在尝试时
String.Format("{0:MM/dd/yyyy}", DateTime.Today);
给出的格式如12-29-2012。
请建议我该怎么做。
答案 0 :(得分:7)
目前尚不清楚问题是什么。如果它只是使用连字符而不是斜杠,那可能是因为你的文化的默认日期分隔符是连字符。选项包括:
明确指定不同的文化(例如不变文化)
String.Format(CultureInfo.InvariantCulture, "{0:MM/dd/yyyy}", DateTime.Today);
逃避斜杠:
String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);
请注意,使用DateTime.Today.ToString(...)
比使用string.Format
IMO更简单。
答案 1 :(得分:1)
这一个
DateTime.Today.ToString("MM/dd/yyyy")
答案 2 :(得分: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));
答案 3 :(得分:1)
'/'是根据您(或指定的)文化翻译的custom date separator。如果你真的想要斜线,你需要引用它们:
String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Today);
或escape他们:
String.Format(@"{0:MM\/dd\/yyyy}", DateTime.Today);
答案 4 :(得分:0)
我认为你应该尝试这个
DateTime.Today.ToString("MM/dd/yyyy")