Хорошо, из комментариев я понял, что у вас есть дата в формате "ггггММ", и из этого вы хотите, чтобы волшебная строка кода создала вам объект типа DateTime
. Вы можете сделать это, используя эту строку кода:
DateTime.TryParseExact("199805", "yyyyMM", CultureInfo.InvariantCulture, DateTimeStyles.None, out var theDate);
Не стесняйтесь изменять его в соответствии с вашими потребностями.
ОБНОВЛЕНИЕ:
Относительно Ваше присвоение даты Kendo
DatePicker, я бы посоветовал вам создать метод и вызвать его внутри метода Value()
. Нечто похожее на это:
@functions{
public DateTime GetDate(string strDate)
{
if (DateTime.TryParseExact(strDate, "yyyyMM", CultureInfo.InvariantCulture, DateTimeStyles.None, out var theDate))
{
return theDate;
}
return DateTime.Now;
}
}
И тогда вы можете просто вызвать его внутри метода Value()
, как показано ниже:
@(
Html.Kendo().DatePicker()
.Name(nameof(InvoiceDTO.AccountingPeriod))
.Value(GetDate(InvoiceDTO.AccountingPeriod)) // I assume AccountPeriod is of type string.
// .Format("{0:yyyyMM}") I do not think we are going to need this after the date is parsed into the required type.
.HtmlAttributes(new { @class = "form-control", style = "width:50%" })
)
PS: У меня есть не проверял код, просто огонь в воздухе после прохождения этой статьи . Так что, возможно, понадобится немного Любви.