Conversion DayOfWeek ENUM une chaîne représentant le jour
-
24-09-2019 - |
Question
Je me demandais s'il y avait un moyen de convertir directement les rendements DayOfWeek
entier dans une chaîne représentant le jour comme lundi, mardi, etc.
Exemple de code:
MessageBox.Show(Date.Today.DayOfWeek)
Ceci renvoie 6
(comme aujourd'hui). Est-il possible de convertir directement en ce Saturday
, par exemple? Je ne me soucie pas vraiment ce qu'il se transforme vraiment en, mais je veux en finir avec mon Select Case:
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
Merci:)
La solution
Une façon plus simple:
Dim day As String = Date.Today.DayOfWeek.ToString()
Autres conseils
DateTimeFormatInfo.CurrentInfo. GetDayName .
Il y a un format DateTime pour que: dddd
Dim date1 As Date = #08/29/2008 7:27:15PM#
date1.ToString("dddd", CultureInfo.CreateSpecificCulture("en-US"))
Avec le CultureInfo vous pouvez l'obtenir dans une langue spécifique (il est facultatif)
Pour plus d'informations: http://msdn.microsoft.com/en-us/library/ 8kb3ddd4.aspx # ddddSpecifier
DateTime.DayOfWeek
ne retourne pas un entier - il retourne un ENUM de type DayOfWeek
. Je pense que pour être converti en le nom automatiquement, mais peut-être cela est une subtilité VB; peut-être quelque chose à faire avec l'aide Date
au lieu de DateTime
? Essayez ceci:
MessageBox.Show(DateTime.Today.DayOfWeek.ToString())
Ce ne sera pas sensible à la culture bien - il sera toujours afficher uniquement le nom de la valeur ENUM, en anglais. Si ce n'est pas bon pour vous, utilisez la solution de Zyphrax ou itowlson.
Date.Today.DayOfWeek.ToString
vous donnera ce que vous cherchez. Nice et facile.
Juste dans d'autres cas ont examiné cet exemple. Je crois qu'il devrait être 0 cas pour le dimanche.
Case 0
day = "Sunday"