2017-06-26 1 views
-3

J'ai donc ajouté un DateTime.Now.ToString("MM/DD/YYYY") à une liste (avec un tas d'autres données) et le plus tard écrire ces listes à des lignes individuelles dans un Classeur ExcelDateTime.Now.ToString ("MM/JJ/AAAA") contient mois incorrect

Tout cela fonctionne très bien (c'est quelque chose que je fais régulièrement), sauf le mois. J'ai essayé de l'exporter trois fois et chaque fois j'ai un mois différent; la première fois 56/26-17, la deuxième 26.2.2017, et le troisième 14/26/2017 ....

+2

Il doit être MM/jj/aaaa (minuscules pendant des jours et des années) – Steve

+2

Veuillez vous reporter à la section [Chaînes personnalisées de format de date et d'heure] (https://docs.microsoft.com/fr-fr/dotnet/standard/base -types/custom-date-et-time-format-strings) pour les codes appropriés. –

+4

il me semble que vous utilisez "mm" et non "MM" - "mm" est * minutes *, pas des mois. Cependant, c'est une conjecture puisque vous n'avez pas montré un petit exemple reproductible. – Default

Répondre

3

Utilisez ce lieu:

DateTime.Now.ToString("MM/dd/yyyy") 

"MM" Pour mois. "dd" pendant des jours. "yyyy" pour l'année.

« MM/JJ/AAAA » est un format incorrect:

Console.WriteLine(DateTime.Now.ToString("MM/DD/YYYY")) // prints "06/DD/YYYY" 
2
DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

Comme il a déjà répondu que vous devez avoir spécificateur de format pour le jour et l'année en petites lettres, mais comme un ajout, vous devez également spécifier la variable de culture pour s'assurer que la sortie finale contient "/" entre les parties de date. Sans ce paramètre de culture "/" pourrait être remplacé par le séparateur de date de la culture du système où le code fonctionne comme "-".