我有这个:
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.ToString
withCultureInfo.InvariantCulture
代替:
var dateString = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
/
替换.
为的原因/
是自定义格式说明符
“/”自定义格式说明符表示日期分隔符,用于区分年、月和日。
DateTimeFormatInfo.DateSeparator
从当前或指定区域性的属性中检索适当的本地化日期分隔符 。
因此,要么使用InvariantCulture
which/
用作日期分隔符,要么 - 更合适 - 通过将其嵌入到以下格式说明符中来转义它'
:
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"));