Je me demandais s'il y avait un moyen de convertir directement l'entier échantillon code: p> Dayofweek Code> dans une chaîne représentant le jour comme lundi, mardi etc.
Select Case Date.Today.DayOfWeek
Case 0
day = "Sunday"
Case 1
day = "Monday"
Case 2
day = "Tuesday"
Case 3
day = "Wednesday"
Case 4
day = "Thursday"
Case 5
day = "Friday"
Case 6
day = "Saturday"
Case Else
day = "Apocalypse: we're all boned."
End Select
6 Réponses :
DateTime.dayofweek Code> A > Ne renvoie pas un entier - il renvoie une énumération de type
Dayfweek code>
. Je m'attendrais à ce que cela soit converti sur le nom automatiquement, mais peut-être qu'il s'agit d'une subtilité VB; Peut-être que quelque chose à voir avec l'utilisation de date code> au lieu de
datetime code>? Essayez ceci:
MessageBox.Show(DateTime.Today.DayOfWeek.ToString())
Cela retournera le nom invariant (US Français); Bien pour déboguer ou stocker dans une base de données ou autre, mais s'il l'affiche, il devrait utiliser quelque chose qui localise la chaîne.
@Ilwlson: Je voudrais juste être édité pour dire quelque chose de similaire, mais moins précisément. Pas Chaque utilisateur i> doit être localisé, imo. Il y a beaucoup d'applications qui ne seront jamais jamais dans une langue (pensez aux applications internes pour les entreprises non internationales). Si cette langue est l'anglais, cela rend la vie encore plus facile.
Merci. Et ce code est juste de référencer certaines boîtes de texte dans mon formulaire dans une commande horaire. Les données réelles à afficher proviennent d'une base de données :)
Il y a un format DateTime pour cela: dddd avec le cultureInfo Vous pouvez l'obtenir dans une langue spécifique (c'est facultatif) p> pour plus d'informations:
http://msdn.microsoft.com/en-us/library/ 8kb3ddd4.aspx # ddddspecificateur p> p>
Un moyen plus simple:
@ghord cette technique transforme simplement une énumération en une valeur de chaîne; Vous feriez probablement quelque chose comme datetime.today.tostring ("dddd", nouveau cultureinfo ("PT-BR")) code>
date.today.dayofweek.tostring.tostring code> vous donnera ce que vous cherchez. Nice et facile. P>
Juste au cas où d'autres ont regardé cet exemple. Je crois que cela devrait être un cas 0 pour dimanche.
Case 0 day = "Sunday"
Ce que vous avez ici est un commentaire sur la question, pas une réponse. Afficher des commentaires sous forme de réponse à contourner les règles conduit inévitablement à une intervention du modérateur.
Ça a l'air bien. Mais j'ai cherché cet exemple de code, et il était incorrect au-delà de la question. J'ai passé du temps à le comprendre. Je pense que cela devrait être souligné pour les futurs utilisateurs, même si la question était déjà répondue.
Je ne pense pas que le .NET Framework prend en charge votre
autre code>. Dommage...
Probablement quelque chose que MS devrait regarder ... ça arrivera un jour. Bien que je reçois des erreurs avec
jour code> plus tard dans le code si ce n'est pas là: p
Rien n'est faux avec l'utilisation de
d'autre code>. Il y a des moyens plus facilement d'obtenir un nom de jour. Cependant, comme l'a souligné Jon, Dayofweek est un type d'énumissage, il ne sera donc jamais autre chose que 0 à 6.
Et juste pour souligner ce qui a également été dit par d'autres, dimanche est 0, pas 7. msdn.microsoft.com/en-us/library/system.dayofeeak.aspx