Шаблон формата даты - PullRequest
       3

Шаблон формата даты

1 голос
/ 14 января 2012

Настройка формата для даты

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

Код выше показывает дату в следующем формате: (13 января 2012 г.)

Требуемый выход: (пятница, 13 января 2012 г.)

Есть ли формат для этого шаблона?

Ответы [ 4 ]

3 голосов
/ 14 января 2012

Да, вот, пожалуйста.

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

Полная документация MSDN

Общее правило, которое я использую для запоминания этих форматов, выглядит следующим образом:

один символ означает только число;два символа означают добавление начального нуля, если необходимо, три символа означает использование трех букв, если день или месяц, четыре цифры для года, четыре буквы означает использование полного слова для дня или месяца. Дополнительные символы (не специальные символы) просто помещаются в строку

Например, рассмотрим 1 января 2001 года

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 голос
/ 14 января 2012
DateTime now = DateTime.Now;
Console.WriteLine(String.Format("{0:dddd d MMMM yyyy}",now));

// output = Friday 13 January 2012

если вы хотите стандартный формат даты, просто используйте

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

вот что я написал очень быстро, чтобы помочь вам в будущем, если вы хотите увидеть, что вы можете сделать с now.ToString () в отношении передачи форматов. попробуйте это в консольном приложении, чтобы увидеть результаты .. Cheers

    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();
0 голосов
/ 14 января 2012

Если вам необходимо учитывать культурные особенности, используйте Format(IFormatProvider, String, Object()).

String.Format(CultureInfo.InvariantCulture, "{0:D}", Model.Date); 
0 голосов
/ 14 января 2012

Как указывает @Dommer, String.Format("{0:dddd d MMMM yyyy}", Model.Date) дает желаемый результат.И здесь вы найдете документацию MSDN по форматам даты и времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...