Преобразование DayofWeek Enum в строку, возмещающее день

StackOverflow https://stackoverflow.com/questions/2169130

Вопрос

Мне было интересно, был ли способ напрямую преобразовать целое число 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

Спасибо :)

Это было полезно?

Решение

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

Dim day As String = Date.Today.DayOfWeek.ToString()

Другие советы

Datetimeformatinfo.currentInfo.Доходность.

Для этого есть формат DateTime: 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.

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

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

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

Date.Today.DayOfWeek.ToString даст вам то, что вы ищете. Легко и приятно.

На всякий случай, когда другие смотрели на этот пример. Я считаю, что это должно быть случай 0 на воскресенье.

Case 0 
    day = "Sunday"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top