#c# #datetime #tostring
#c# #дата-время #tostring
Вопрос:
Я пытаюсь получить только день или час из объекта DateTime. Однако я сталкиваюсь с проблемой, заключающейся в том, что односимвольные строки dateformat не принимаются, потому что некоторые из них имеют особое значение.
Следующее приводит к сбою системы.FormatException:
DateTime.Now.ToString("H")
Я мог бы обойти это ограничение, добавив любой символ и удалив его с помощью подстроки. Хотя это кажется довольно произвольным:
DateTime.Now.ToString(" H").Substring(1)
Нет ли лучшего способа заставить работать эти односимвольные форматы даты?
Ответ №1:
Вы можете использовать %
для определения пользовательского формата, указанного в Документах Microsoft
//Example
Console.WriteLine(DateTime.Now.ToString("%H"));
Ответ №2:
Если вы хотите получить только час вашего объекта DateTime, вы можете получить это с помощью .Hour;
Пример:
// Create Datetime object
DateTime dateTime = DateTime.Now;
// Get Hour from DateTime object
int hour = dateTime.Hour;
Комментарии:
1. Хотя это и правильно, это не совсем подходит для моего использования, поскольку dateformats предоставляются пользователем в виде строки.