J'ai fait une recherche rapide pour cela et j'ai été surpris de ne pas le trouver nulle part. p>
essentiellement à la recherche de convertir des noms de mois complets (janvier, septembre, etc.) au numéro équivalent qui serait utilisé dans le format MM / DD / AAAA. P>
Je peux mettre en place mon propre tableau et le tirer en conséquence, mais il doit y avoir une méthode rapide et directe déjà. Droite? P>
6 Réponses :
Vous pouvez utiliser la chaîne de format voir Cordes de format DateTime personnalisé sur MSDN. P> mmmm code> pour le nom complet du mois.
Dim fullMonthName as DateTime
fullMonthName = DateTime.ParseExact("26 January 2010", "dd MMMM yyyy",
CultureInfo.InvariantCulture)
Dim monthName = "September" Dim monthNumber = DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture).Month If you are basing this on user input, I think this is the cleanest (especially if you are expecting multiple cultures to use this). DateTime.ParseExact will allow you to input any sort of input and translate it into a DateTime, then pluck off whatever part of it you care about.If, however, this isn't have on user input, I would have to suggest using some sort of static collection (whether a dictionary or an enum).
Ça a l'air bien, mais je pense que cela devrait être un nom de mois à l'intérieur du parseexact.
Bonjour, mais cela donne un numéro de mois à 1 chiffre, comment puis-je obtenir un numéro de mois à 2 chiffres?
@sephtian, cela redonne un entier code>. Si vous le souhaitez deux chiffres, convertissez-le en une chaîne avec ce formatage, c'est-à-dire
Appelez-moi fou, mais n'est-ce pas exactement ce qu'est un énumé? Peut-être mérite d'être envisagé de garder le code aussi simple que possible. http://visualbasic.about.com/od/usenvbnet/a/enum01. htm p>
VB n'est pas ma spécialité, mais en général, je n'apporterais pas une bibliothèque supplémentaire uniquement pour traduire 12 chaînes en chiffres. Peut-être s'il y avait d'autres fonctions utiles là-bas ...
J'utilise déjà la bibliothèque DateTime pour d'autres choses, je vérifiais simplement une manière intégrée de faire cette conversion.
Cela peut sonner longtemps, pourquoi ne pas utiliser une instruction IF ou Sélectionner un cas.
If Month = "January" Then MonthNum = "1" Else If Month = "February" Then .......
Bien dans mon cas, j'ai utilisé ce truc
puis ce p>
C'est vieux mais quelque chose que je cherchais, il suffit d'incuer quelqu'un d'autre à la recherche d'une solution facile .... im sera égal à 6 p> < / p>
La quantité de caractères qu'il vous serait prise pour écrire la méthode d'extension est probablement égale à la longueur de votre question :)
Tu as probablement raison. :) Mais de cette façon, je me rends à redonner à la communauté puisque ce n'était pas facile à trouver en premier lieu.