Можно указать формат даты вместо использования ToString («г «)?
Вот один из возможных ответов. Он преобразует времени в следующем формате:
день/месяц/год часы: минуты
var dateTime = DateTime.Now.ToString("dd/MM/yyyy HH:mm");
Есть функция на объект даты и времени, который выводит в этом формате?
Существуют аналогичные методы, такие как ToShortDateString()
, но он по-прежнему не такой же, как вы описали.
Должен ли я создать собственный метод расширения или спуститься по другому пути ?
Основываясь на моем личном мнении, вы можете создать метод расширения с более описательным именем, но мне хотелось бы объявить некоторую постоянную переменную, которая хранит значение вашего конкретного формата и заполняет эту переменную, например. файл конфигурации.
var dateTime = DateTime.Now.ToString(_someMoreDescriptiveDateTimeFormat);
Может быть хорошей идеей для метода метод расширения может быть таким:
var dateTimeString = DateTime.Now.ToFormattedString();
А вот реализация метода, который документируется с пояснительными данными. Это также может быть полезно при просмотре.
/// <summary>
/// Convert DateTime object into specially formated string.
/// </summary>
/// <param name="dateTime">DateTime which will be converted. </param>
/// <returns>Custom date and time string.</returns>
public static string ToFormattedString(this DateTime dateTime)
{
return dateTime.ToString("dd/MM/yyyy HH:mm");
}
Является ли вывод, что вы хотите - просто, не используя строку «г», а с помощью метода или какая-то другая конструкция, которая лучше читает код? –
'.ToString (" g ")' генерирует 'дату' с использованием комбинированных спецификаторов 'd' (короткая дата) и' t' (короткое время). Существует не метод расширения DateTime, который делает это, поэтому вам нужно будет создать собственный метод расширения –
'ToShortDateString()' так же хорош, как и 'userDOB.ToString (" d ")'. Просто немногие форматы даты и времени с большей вероятностью будут использоваться, поэтому команда .Net также предоставила некоторые дополнительные API. Я не уверен, почему вы думаете, что 'userDOB.ToString (« g »)' менее читабельны, и вы хотите заменить его некоторым методом расширения, который не имеет параметра. Моя идея заключалась в том, что API-интерфейсы являются тем, чем они являются. Как разработчик при чтении кода каждый раз, когда мне придется идти внутрь вашего метода расширения, чтобы понять, что он возвращает под капотом. – RBT