Comment faire pour obtenir une date courte pour Obtenir une date courte pour System Nullable datetime (datetime ?)
pour ed 12/31/2013 12:00:00
-> seulement devrait renvoyer 12/31/2013
.
Je ne vois pas la ToShortDateString
disponible.
Vous devez d'abord utiliser .Value
(puisqu'il est nullable).
var shortString = yourDate.Value.ToShortDateString();
Mais vérifiez aussi que yourDate
a une valeur:
if (yourDate.HasValue) {
var shortString = yourDate.Value.ToShortDateString();
}
string.Format("{0:d}", dt);
fonctionne:
DateTime? dt = (DateTime?)DateTime.Now;
string dateToday = string.Format("{0:d}", dt);
Si le DateTime?
est null
, cela retourne une chaîne vide.
Notez que le spécificateur de format personnalisé "d" est identique à ToShortDateString
.
Cette fonction est absolument disponible dans la classe DateTime
. Veuillez vous reporter à la documentation MSDN de la classe: http://msdn.Microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx
Puisque Nullable
est un générique au-dessus de la classe DateTime
, vous devrez utiliser la propriété .Value
de l'instance DateTime?
pour appeler les méthodes de classe sous-jacentes, comme indiqué ci-dessous:
DateTime? date;
String shortDateString;
shortDateString = date.Value.ToShortDateString();
Sachez simplement que si vous tentez cette opération alors que date
est null, une exception sera levée.
Si vous voulez avoir la certitude d'avoir une valeur à afficher, vous pouvez utiliser GetValueOrDefault()
conjointement avec la méthode ToShortDateString
qui ressemble à ceci postel like
yourDate.GetValueOrDefault().ToShortDateString();
Cela affichera 01/01/0001 si la valeur est nulle.
Si vous utilisez .cshtml, vous pouvez utiliser comme
<td>@(item.InvoiceDate==null?"":DateTime.Parse(item.YourDate.ToString()).ToShortDateString())</td>
ou si vous essayez de trouver une date courte en action ou en méthode en c #, puis
yourDate.GetValueOrDefault().ToShortDateString();
Et est déjà répondu ci-dessus par Steve.
J'ai partagé cela comme je l'ai utilisé dans mon projet. ça fonctionne bien. Je vous remercie.
Essayer
if (nullDate.HasValue)
{
nullDate.Value.ToShortDateString();
}
Vérifiez si elle a de la valeur, puis obtenez la date requise
if (nullDate.HasValue)
{
nullDate.Value.ToShortDateString();
}