9

我想知道是否有一种方法可以直接将整数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

谢谢 :)

4

6 回答 6

13

日期时间格式信息。当前信息。获取日期名称

于 2010-01-30T19:35:08.790 回答
5

更简单的方法:

Dim day As String = Date.Today.DayOfWeek.ToString()
于 2010-01-30T19:35:06.793 回答
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

于 2010-01-30T19:34:57.980 回答
0

DateTime.DayOfWeek不返回整数 - 它返回类型的枚举DayOfWeek。我希望它会自动转换为名称,但也许这是 VB 的微妙之处;也许与使用Date而不是有关DateTime?试试这个:

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

不过,这不会对文化敏感 - 它总是会以英文显示枚举值的名称。如果这对您不利,请使用 Zyphrax 或 itowlson 的解决方案。

于 2010-01-30T19:34:47.717 回答
0

Date.Today.DayOfWeek.ToString会给你你正在寻找的东西。好,易于。

于 2010-01-30T19:37:25.923 回答
-2

以防其他人看到这个例子。我相信星期天应该是案例 0。

Case 0 
    day = "Sunday"
于 2014-04-14T00:07:46.677 回答