日期格式模式

时间:2012-01-13 21:30:02

标签: c# asp.net-mvc-3

设置日期格式

@String.Format("{0:D}", Model.Date)

上面的代码以下列格式显示日期:(2012年1月13日)

所需产出:( 2012年1月13日星期五)

这种模式有格式吗?

4 个答案:

答案 0 :(得分:3)

是的,你走了。

String.Format("{0:dddd d MMMM yyyy}", Model.Date)

Full MSDN Documentation

我用来记住这些格式的一般规则是这样的:

一个字符仅表示数字; 两个字符表示必要时添加前导零 三个字符表示每天或每月使用三个字母,一年使用四个字母 四个字母表示每天或每月使用全字 额外的东西(不是特殊字符)只是放在字符串

e.g。考虑2001年1月1日

String.Format("{0:(d;dd;ddd;dddd),(M;MM;MMM;MMMM),(y,yy,yyy,yyyy)}", DateTime.Parse("2001/01/01"))

将返回

(1;01;Mon;Monday),(1;01;Jan;January),(1,01,2001,2001)

类似的时间规则,如下:

String.Format("{0:(h;hh):(m;mm):(s,ss) (t,tt)}", DateTime.Now)

给出这个:

(9;09):(41;41):(34,34) (P,PM)

答案 1 :(得分:1)

DateTime now = DateTime.Now;
Console.WriteLine(String.Format("{0:dddd d MMMM yyyy}",now));

// output = 2012年1月13日星期五

如果您想使用标准日期格式

Console.WriteLine(now.ToString("D"));

这里有一些我真正快速写的东西,如果你想看看你能用now.ToString()传递格式的话,将来可以帮助你。 在控制台应用程序中尝试这一点以查看结果..干杯

    DateTime now = DateTime.Now;
    Console.WriteLine(now.ToString("d"));
    Console.WriteLine(now.ToString("D"));
    Console.WriteLine(now.ToString("f"));
    Console.WriteLine(now.ToString("F"));
    Console.WriteLine(now.ToString("g"));
    Console.WriteLine(now.ToString("G"));
    Console.WriteLine(now.ToString("m"));
    Console.WriteLine(now.ToString("M"));
    Console.WriteLine(now.ToString("o"));
    Console.WriteLine(now.ToString("O"));
    Console.WriteLine(now.ToString("s"));
    Console.WriteLine(now.ToString("t"));
    Console.WriteLine(now.ToString("T"));
    Console.WriteLine(now.ToString("u"));
    Console.WriteLine(now.ToString("U"));
    Console.WriteLine(now.ToString("y"));
    Console.WriteLine(now.ToString("Y"));
    Console.Read();

答案 2 :(得分:0)

正如@Dommer所指出的那样,String.Format("{0:dddd d MMMM yyyy}", Model.Date)可以为您提供所需的结果。 here您可以找到有关日期和时间格式的MSDN文档。

答案 3 :(得分:0)

如果您需要具备文化意识,请使用Format(IFormatProvider, String, Object())

String.Format(CultureInfo.InvariantCulture, "{0:D}", Model.Date);