Comment puis-je convertir le nullable DateTime dt2 une chaîne formatée ?
aucune surcharge de la méthode ToString ne prend un argument
Comment puis-je convertir le nullable DateTime dt2 une chaîne formatée ?
aucune surcharge de la méthode ToString ne prend un argument
Vous êtes en train d’ingénier tout cela et de le rendre plus compliqué qu’il ne l’est réellement. Ce qui est important, arrêtez d'utiliser ToString et commencez à utiliser le formatage de chaîne comme string.Format ou des méthodes qui prennent en charge le formatage de chaîne comme Console.WriteLine. Voici la solution préférée à cette question. C'est aussi le plus sûr.
DateTime? dt1 = DateTime.Now;
DateTime? dt2 = null;
Console.WriteLine("'{0:yyyy-MM-dd hh:mm:ss}'", dt1);
Console.WriteLine("'{0:yyyy-MM-dd hh:mm:ss}'", dt2);
Output: (je mets des guillemets simples pour que vous puissiez voir que cela revient sous la forme d'une chaîne vide lorsque null)
'2014-01-22 09:41:32'
''
Le problème avec la formulation d'une réponse à cette question est que vous ne spécifiez pas la sortie souhaitée lorsque le datetime nullable n'a aucune valeur. Le code suivant affichera DateTime.MinValue
dans ce cas, et contrairement à la réponse actuellement acceptée, ne lancera pas d'exception.
dt2.GetValueOrDefault().ToString(format);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.