#c# #datetime #type-conversion
#c# #datetime #преобразование типа
Вопрос:
Я пытаюсь преобразовать персидскую дату в стандартное datetime.Персидская дата имеет формат, подобный этому : 1392/01/23
.
Моя функция :
public DateTime ConvertPeersianToEnglish(string persianDate)
{
string[] formats = { "yyyy/MMMM/dd" };
DateTime d1 = DateTime.ParseExact(persianDate, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None);
return d1;
}
Поэтому, когда я вызываю эту функцию и передаю ей свою персидскую дату, я получаю сообщение об ошибке :
String was not recognized as a valid DateTime.
Почему ?
С наилучшими пожеланиями
Комментарии:
1. это похоже на этот год / месяц / день
Ответ №1:
Используйте MM
вместо MMMM
:
string[] formats = { "yyyy/MM/dd" };
MM
является 01
ли номер месяца 12
MMMM
является полным именем месяца january
december
(строки зависят от культуры).
Проверьте MSDN: настраиваемые строки формата даты и времени
Комментарии:
1. Итак, почему в стандартное время мы должны использовать MMMM?
2. @EA ну, все зависит от ваших потребностей, это просто другой способ представления вашей даты. Хотя я никогда этого не слышал
we should use MMMM in standard time
, откуда вы это взяли?3. Я не нашел ничего, что указывало бы на это, так что, я думаю, все зависит от ожидаемого формата ввода.