我有这个:
var dateString = string.Format("{0:dd/MM/yyyy}", date);
但是 dateString 是 13.05.2011 而不是 13/05/2011。你能帮助我吗?
我有这个:
var dateString = string.Format("{0:dd/MM/yyyy}", date);
但是 dateString 是 13.05.2011 而不是 13/05/2011。你能帮助我吗?
// date separator in german culture is "." (so "/" changes to ".")
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2012 16:05:07" - english (en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2012 16:05:07" - german (de-DE)
所以你必须把文化从德语改成英语!
你可以写 :
date.ToString(new CultureInfo("en-EN"));
您可以使用DateTime.ToStringwithCultureInfo.InvariantCulture代替:
var dateString = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
/替换.为的原因/是自定义格式说明符
“/”自定义格式说明符表示日期分隔符,用于区分年、月和日。
DateTimeFormatInfo.DateSeparator从当前或指定区域性的属性中检索适当的本地化日期分隔符 。
因此,要么使用InvariantCulturewhich/用作日期分隔符,要么 - 更合适 - 通过将其嵌入到以下格式说明符中来转义它':
var dateString = date.ToString("dd'/'MM'/'yyyy");
为什么这样更合适?因为您仍然可以应用本地文化,fe 如果您想输出月份名称,但/无论如何您都强制作为日期分隔符。
试试这个:
var dateString = string.Format("{0:dd}/{0:MM}/{0:yyyy}", date);
还可以查看 Steve X 的字符串格式网站:http: //blog.stevex.net/string-formatting-in-csharp/
如果您想强制使用日期分隔符而不考虑文化,您可以将其转义,如下所示:
var dateString = string.Format(@"{0:dd\/MM\/yyyy}", date);
只需尝试
var dateString = date.ToString("dd/MM/yyyy", new System.Globalization.CultureInfo("en-GB"));
这似乎是一个日期分隔符问题。用这个;
String.Format("{0:d/M/yyyy}", date);
检查String Format DateTime并查看DateTimeFormatInfo.DateSeperator财产。
试试这个:
var dateString = string.Format("{0:dd/MM/yyyy}", DateTime.Today, new System.Globalization.CultureInfo("en-GB"));