Форматирование даты с использованием C # в приложении MVC3 - PullRequest
2 голосов
/ 13 сентября 2011

У меня есть модель со свойством DateTime:

public DateTime EndTime { get; set; }

В моем контроллере я назначаю это свойство значению, возвращенному из моей базы данных:

aModel.EndTime = auction.EndTime.Value;

А на мой взгляд:

<p class="time">@item.EndTime</p>

В настоящее время дата возвращается как:

9/12/2011 --> Month / Day / Year

Я хочу, чтобы он отображался как:

12/9/2011 --> Day / Month / Year

Я уверен, что приложение отображает дату в соответствии с настройками сервера, но я не хочу ее менять. Как я могу отобразить дату, как я хочу во втором примере?

Ответы [ 3 ]

3 голосов
/ 13 сентября 2011

<p class="time">@String.Format("{0:dd/MM/yyyy}",item.EndTime)</p>

2 голосов
/ 13 сентября 2011

Быстрый и простой способ ...

<p class="time">@item.EndTime.ToString("dd/MM/yyyy")</p>

Я бы посоветовал вам сохранить строку формата в качестве значения конфигурации, чтобы вы могли легко изменить ее позже ... или добавить способ для пользователяустановить их предпочтения

Может быть, даже сделать какой-то метод расширения работы ...

Класс помощника

public static class ExtensionMethods
{
   public static string ToClientDate(this DateTime dt)
   {
      string configFormat = System.Configuration.ConfigurationManager.AppSettings["DateFormat"];
      return dt.ToString(configFormat);
   }
}

Файл конфигурации

<appSettings>
    <add key="DateFormat" value="dd/MM/yyyy" />
</appSettings>

View

<p class="time">@item.EndTime.ToClientDate()</p>

Убедитесь, что View позволяет видеть класс ExtensionMethods, при необходимости добавьте оператор «Using»

1 голос
/ 13 сентября 2011

Используйте метод ToString на ваш взгляд:

<p class="time">@item.EndTime.ToString("d/M/yyyy")</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...