Нет перегрузки для метода "ToString" принимает 1 аргумент при дате кастинга
Я пытаюсь сохранить дату из моего Angular ui-Datepicker в мою базу данных SQL. Дата находится в формате (10-27-2015 12:00 AM), но она не будет сохранена. Я попытался использовать следующее, чтобы преобразовать его в формат SQL DateTime:
DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate.ToString("yyyy-MM-dd HH:mm:ss");
Но я получаю сообщение об ошибке "Нет перегрузки для метода" ToString "принимает 1 аргумент. Поле в SQL - это тип" datetime ".
Любая помощь очень ценится.
Ответы
Ответ 1
Вы хотите использовать DateTime.ToString(format)
не Nullable<DateTime>.ToString(no overload)
:
DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
Конечно, это не значит, что нет значения. Возможно, что-то вроде этого:
string sqlFormattedDate = myDate.HasValue
? myDate.Value.ToString("yyyy-MM-dd HH:mm:ss")
: "<not available>";
Ответ 2
string sqlFormattedDate = ((DateTime)myDate).ToString("yyyy-MM-dd HH:mm:ss");
Также, если вы можете использовать серверный код в .cshtml
и управлять этим литьем, как показано ниже (например):
<label>Establish: @(((DateTime)Model.EstablishDate).ToString("yyyy-MM-dd"))</label>
Ответ 3
Все будет хорошо.
DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");