DateTime呈现不同的格式

时间:2013-12-24 08:45:54

标签: c# asp.net asp.net-mvc entity-framework-4

在我的网站上,我的日期以我想要的格式呈现, yyyy-mm-dd 。 但是对于某些观点(20个中的2个),它呈现 dd / mm / yyyy

经过:

  • 文化设置,sv-SE
  • 文件编码,utf-8
  • Viewmodels没有任何区别,
  • html lang sv,charset utf-8
  • 数据库表中的日期相同。

我在这里缺少什么?

我无法理解这个问题。

更新

日期加载在这样的视图中:

    DateTime datum = item.AnswerDate; 
@Html.FriendlyCreatedDate(datum);

    public static String FriendlyCreatedDate(this HtmlHelper helper, DateTime startDate)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append(startDate.Created());
        return sb.ToString();
    }
     public static string Created(this DateTime d)
    {
        string today = DateTime.Now.ToShortDateString();
        string yesterday = DateTime.Now.AddDays(-1).ToShortDateString();
        string tomorroww = DateTime.Now.AddDays(1).ToShortDateString();

        if (d.ToShortDateString() == yesterday)
        {
            return "Igår, kl "+d.ToShortTimeString();
        }
        if (d.ToShortDateString() == tomorroww)
        {
            return "Imorgon, kl " + d.ToShortTimeString();
        }
        if (d.ToShortDateString() == today)
        {
            return "Idag, kl " + d.ToShortTimeString();
        }
        return d.ToShortDateString() + ", " + d.ToShortTimeString();

    }

1 个答案:

答案 0 :(得分:1)

如果您的特定情况没有全球文化信息。您可以在ToString()函数中指定格式,也可以直接在字符串格式化器中指定格式。

见这个例子:

DateTime v_Date = new DateTime(2013, 12, 22);

Console.WriteLine("{0}", v_Date);

Console.WriteLine("{0}", v_Date.ToString("dd/MM/yyy"));

Console.WriteLine("{0:dd/MM/yyy}", v_Date);