Строгий ответ на этот вопрос:
Есть ли способ сделать это, кроме
сам внедряешь? Я готов к
использовать сторонние библиотеки.
Нет, если третье лицо уже не сделало этого, вам потребуется реализовать собственный анализатор строк формата.
Я разделяю мнение большинства респондентов о том, что усилия, необходимые для этого, совершенно несопоставимы с альтернативой простого запоминания уже предоставленных форматов DateTime (или обращения к их документации). Но, если бы вы предприняли такие усилия, вы бы хотели реализовать ICustomFormatter и IFormatProvider , которые бы предоставили его по запросу.
См. Приведенную выше документацию ICustomFormatter для примера, но ваша задача будет заключаться в предоставлении метода Format(string format, object arg, IFormatProvider formatProvider)
, который принимает строку в формате , которой вы интересуетесь, и использует ее для преобразования переданного DateTime в arg
в строку, соответствующую этому шаблону.
Как только это будет сделано, и у вас есть IFormatProvider, метод GetFormat()
которого возвращает ваш пользовательский форматер, ваш пример кода будет выглядеть так:
DateTime someDate = DateTime.Now;
Console.WriteLine(someDate.ToString("Wed, June 12", new CustomDateFormatter()));