我想知道是否有办法将整数DayOfWeek
返回直接转换为表示星期一,星期二等日期的字符串。
示例代码:
MessageBox.Show(Date.Today.DayOfWeek)
这将返回6
(截至今天)。有没有办法直接将其转换为Saturday
?我真的不在乎它真正将它转化为什么,但我想取消我的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
谢谢:)
答案 0 :(得分:12)
DateTimeFormatInfo.CurrentInfo。GetDayName
答案 1 :(得分:5)
更简单的方法:
Dim day As String = Date.Today.DayOfWeek.ToString()
答案 2 :(得分:2)
有一个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#ddddSpecifier
答案 3 :(得分:0)
DateTime.DayOfWeek
不返回整数 - 它返回类型为DayOfWeek
的枚举。我希望自动将其转换为名称,但这可能是VB的微妙之处;也许与使用Date
而不是DateTime
有关?试试这个:
MessageBox.Show(DateTime.Today.DayOfWeek.ToString())
这不会对文化敏感 - 它总是只显示枚举值的名称,用英语表示。如果这对您不利,请使用Zyphrax或itowlson的解决方案。
答案 4 :(得分:0)
Date.Today.DayOfWeek.ToString
将为您提供所需的信息。很好,很容易。
答案 5 :(得分:-2)
以防其他人看过这个例子。我相信周日应该是案例0。
Case 0
day = "Sunday"