kar*_*una 1 c# string-formatting
我有这个:
var dateString = string.Format("{0:dd/MM/yyyy}", date);
Run Code Online (Sandbox Code Playgroud)
但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)
Run Code Online (Sandbox Code Playgroud)
所以你必须把文化从德语变成英语!
你可以写 :
date.ToString(new CultureInfo("en-EN"));
Run Code Online (Sandbox Code Playgroud)
您可以使用DateTime.ToStringwithCultureInfo.InvariantCulture代替:
var dateString = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
/被替换的原因.是这/是一个自定义格式说明符
“/”自定义格式说明符表示日期分隔符,用于区分年、月和日。从
DateTimeFormatInfo.DateSeparator当前或指定区域性的属性中检索适当的本地化日期分隔符 。
因此,要么使用InvariantCulturewhich/用作日期分隔符,要么 - 更合适的 - 通过将其嵌入其中来转义此格式说明符':
var dateString = date.ToString("dd'/'MM'/'yyyy");
Run Code Online (Sandbox Code Playgroud)
为什么这样更合适?因为您仍然可以应用本地文化,如果您想输出月份名称,则 fe ,但/无论如何您都强制作为日期分隔符。
| 归档时间: |
|
| 查看次数: |
2029 次 |
| 最近记录: |