Преобразование перечисления DayOfWeek к строке repesenting день

Я задавался вопросом, был ли способ непосредственно преобразовать целое число DayOfWeek возвраты в строку, представляющую день как понедельник, во вторник и т.д.

Пример кода:

MessageBox.Show(Date.Today.DayOfWeek)

Это возвратится 6 (с сегодняшнего дня). Есть ли способ непосредственно преобразовать это в Saturday, например? Я действительно не забочусь о том, во что это действительно преобразовывает его, но я хочу покончить со своим Избранным Случаем:

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

Спасибо :)

8
задан furkle 14 November 2014 в 20:28
поделиться

5 ответов

Проще говоря:

Dim day As String = Date.Today.DayOfWeek.ToString()
5
ответ дан 5 December 2019 в 10:02
поделиться

date.toDay.dayofweek.tostring даст вам то, что вы ищете. Легко и приятно.

0
ответ дан 5 December 2019 в 10:02
поделиться

Существует формат данных для этого: DDDD

Dim date1 As Date = #08/29/2008 7:27:15PM#
date1.ToString("dddd", CultureInfo.CreateSpecificCulture("en-US"))

с CultureInfo вы можете получить его на конкретном языке (это необязательно)

для получения дополнительной информации: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dddddsppifier

2
ответ дан 5 December 2019 в 10:02
поделиться

dateTime.dayofweek не возвращает целое число - он возвращает enum типа dayofweek . Я ожидаю, что он будет преобразован во имя автоматически, но, возможно, это VB тонкость; Может быть, что-то связано с использованием дата вместо DateTime ? Попробуйте это:

MessageBox.Show(DateTime.Today.DayOfWeek.ToString())

Это не будет чувствительным к культуре, хотя - он всегда будет просто отображать имя стоимости Enum, на английском языке. Если это не хорошо для вас, используйте решение Zyprax или Itowlson.

0
ответ дан 5 December 2019 в 10:02
поделиться

dateTimeformatinfo.currentInfo. GetDdayName .

12
ответ дан 5 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: