Почему мы должны использовать IFormatProvider
в DateTime.ParseExact
, если уже есть параметр формата?Как использовать IFormatProvider в DateTime.ParseExact
DateTime.ParseExact(inputString, format, cultureInfo);
Почему мы должны использовать IFormatProvider
в DateTime.ParseExact
, если уже есть параметр формата?Как использовать IFormatProvider в DateTime.ParseExact
DateTime.ParseExact(inputString, format, cultureInfo);
Параметр формат говорит, что шаблон использовать - но он ничего не знает о какой календарь, названия месяцев, короткий формат даты и т.д., чтобы использовать не сказать. Это до IFormatProvider
.
Например, предположим, что вы хотите разобрать значение с помощью шаблона "dd MMMM yyyy"
- в каких месяцах вы ожидаете работать? Если вы используете месячное название «Февраль», но вы работаете на машине с культурой системы на французском языке, это провалится - вам нужно будет указать английскую культуру (или инвариантную культуру), чтобы получить ее Работа. Аналогично, вы можете указать шаблон "d"
, чтобы обозначить короткий формат даты - но , который короткий формат даты?
Даже календаря вы используете, зависят от поставщика формата: значение может быть проанализировано в том же год, месяц и день значений в двух культурах - но смысла этих значений будет сильно отличаться в Например, календарь Хайджри из григорианского календаря.
Простой пример: /
/
это не просто символ, а разделитель даты, которая зависит от культуры.
большой ответ. –
@Ahmedilyas: Это помогает, что меня интересуют даты и время :) –
да. Я иногда чувствую это чувство ... не заставляйте меня начинать с клиентов, их требований и клиентов, а также в разных регионах и ... urgh! :) –