Je souhaite convertir le DateTime.Now au format yyyy-mm-dd
puisque c'est le seul format que je peux utiliser dans ma requête que je souhaite inclure.
La valeur par défaut format
de DateTime.Now
ressemble à 5/1/2008 6:32:06 PM
.
Si je veux en changer le format en yyyyMMdd
je pourrais utiliser cette ligne de code:
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
Mais, quand j'essaye la même chose pour ce yyyy-mm-dd
format comme ci-dessous:
var dateString2 = DateTime.Now.ToString("yyyy-mm-dd");
le résultat que j'obtiens est faux. Pour les lignes de code suivantes:
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-mm-dd");
Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-mm-dd "+ dateString2);
J'obtiens le résultat suivant:
ce qui est faux pour le deuxième cas.
Qu'est-ce que je rate?
Selon msdnMM
, le spécificateur de format représente le mois et mm
- les minutes.
"mm" | La minute, de 00 à 59.
"MM" | Le mois, du 01 au 12.
Votre code devrait donc ressembler à ceci:
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");
Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-MM-dd "+ dateString2);
Et vous obtiendrez le résultat souhaité
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");
Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-MM-dd "+ dateString2);
Vous utilisez "mm" au lieu de "MM" dans votre deuxième format. mm correspond aux minutes, MM correspond au mois.
Votre miss est un "m" en minuscule dans le second format, qui détermine les MINUTES, mais vous avez besoin de "M" au lieu de "m" pour MOIS.