根据用户文化格式化月和日

时间:2015-11-19 16:04:50

标签: c# asp.net-mvc

我试图找到一种简洁的方法来格式化DateTime以显示日期和月份,具体取决于用户文化。 我的预期结果:
en-US:MM / dd - > 11/19
de-DE:dd.MM - > 19.11

这是我当前的解决方案......但有更好的方法吗?

var d = DateTime.Now;
var dateFormatter = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
return d.ToString(dateFormatter.ShortDatePattern
    .Replace("y", "")
    .Trim(dateFormatter.DateSeparator.ToCharArray()));

2 个答案:

答案 0 :(得分:0)

要根据特定文化格式化日期时间,您可以设置当前文化: Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

您可以在此链接中获取更多信息并查看示例:  enter link description here

答案 1 :(得分:0)

我这样做是为了强迫西班牙语:

Alert

只需采用当前的文化即可。

System.Globalization.CultureInfo esES = new System.Globalization.CultureInfo("es-ES");
Convert.ToDateTime(filtroIU.fechaIngresoInicio, esES);