web-dev-qa-db-fra.com

Aucune surcharge pour la méthode 'ToString "prend 1 argument lors de la conversion

J'essaie de sauvegarder une date de mon Angular ui-Datepicker dans ma base de données SQL. La date est au format (10-27-2015 12h00) mais elle ne sera pas sauvegardée. J'ai essayé d'utiliser ce qui suit pour le convertir au format DateTime SQL:

    DateTime? myDate = form.dteStartDate;
    string sqlFormattedDate = myDate.ToString("yyyy-MM-dd HH:mm:ss");

Mais je reçois le message d'erreur "Aucune surcharge pour la méthode" ToString "ne prend 1 argument. Le champ en SQL est de type" date-heure ".

Toute aide est grandement appréciée.

29
Rani Radcliff

Vous voulez utiliser DateTime.ToString(format) pas Nullable<DateTime>.ToString(no overload) :

DateTime? myDate = form.dteStartDate;
string sqlFormattedDate = myDate.Value.ToString("yyyy-MM-dd HH:mm:ss");

Bien sûr, cela ne gère pas le cas où il n'y a pas de valeur. Peut-être quelque chose comme ça:

string sqlFormattedDate = myDate.HasValue 
    ? myDate.Value.ToString("yyyy-MM-dd HH:mm:ss")
    : "<not available>";
88
Tim Schmelter

Cela fonctionnera bien.

DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");
4
N Islam
 string sqlFormattedDate = ((DateTime)myDate).ToString("yyyy-MM-dd HH:mm:ss");

De plus, si vous pouvez utiliser le code côté serveur dans .cshtml et gérer cette diffusion comme ci-dessous (par exemple):

   <label>Establish: @(((DateTime)Model.EstablishDate).ToString("yyyy-MM-dd"))</label>
4
Elnaz