2017-08-26 1 views
-1

Je sais que des questions similaires ont été posées comme ici: DateTime string conversion with both month name and AM/PMconversion de chaîne DateTime à la fois le nom complet du mois et AM/PM

En effet, je rencontre un problème très similaire, mais même quand je suivre les réponses à la question Au-dessus, ça ne semble toujours pas fonctionner pour moi. J'essaie d'exécuter le morceau de code suivant:

dateTime = DateTime.ParseExact(dateString + " " + yearString + " " + 
timeString, "MMMM dd yyyy HH:mm tt", 
System.Globalization.CultureInfo.InvariantCulture); 

Où dateString 'est "25 Septembre" 'yearstring' est "2017" 'timestring' est "18:30"

L'exception qui est levée lors de l'exécution de ce code est FormatException La chaîne n'a pas été reconnue en tant que DateTime valide. Dans ma chaîne de date ci-dessus, j'insère un espace blanc unique pour chaque utilisation de guillemets.

+2

Publiez la dateString telle quelle. –

+0

Merci pour l'aide à la mise en forme –

+1

Utilisez 'h' au lieu de' HH'. 'HH' est l'heure de 24 heures, il est donc peu logique de l'utiliser avec' tt'. Je doute vraiment que le nom du mois complet ait quelque chose à voir avec cela. –

Répondre

0

Je l'ai eu à travailler en faisant deux choses (probablement le deuxième élément plus pertinent). J'ai changé le majuscule H dans ma chaîne de format en minuscule h. En outre, j'ai d'abord enregistré la chaîne de temps de date complète dans une variable distincte, puis transmis à la fonction DateTime.ParseExact(). Peut-être que d'autres utilisateurs peuvent répondre POURQUOI cela a fonctionné.

Merci Communauté Stack Overflow.