从当天的整数值获取一周的一天

时间:2014-08-21 05:52:59

标签: c# asp.net dayofweek

我已将一周中的几天转换为各自的整数值..

例如:Tuesday, Thursday, Friday2,4,5

现在我需要回到整数的日子。

完全与我所做的相反。

问题的反面: Get Integer value of day of week

是否有一种简单的标准方法可以从C#中的整数值获取星期几,否则我将需要使用方法执行手动计算?

6 个答案:

答案 0 :(得分:24)

尝试以下代码: -

Response.Write(Enum.GetName(typeof(DayOfWeek),5));

输出:

Friday

如果必须将整数转换为星期几,请参阅以下示例以使用LINQ转换“2,4,5”。

var t = string.Join(",",
                 from g in "2,4,5".Split(new char[] { ',' })
                 select Enum.GetName(typeof(DayOfWeek), Convert.ToInt32(g)));
        Response.Write(t);

输出:

Tuesday,Thursday,Friday

有关额外信息: -

http://msdn.microsoft.com/en-us/library/system.enum.getname(v=vs.110).aspx

答案 1 :(得分:16)

尝试

CultureInfo.CurrentCulture.DateTimeFormat.DayNames[day No]

答案 2 :(得分:6)

Enum.Parse(typeof(DayOfWeek),"0")

其中" 0"是等效于星期几的整数值的字符串

答案 3 :(得分:4)

添加我的答案,以防任何人使用:

((DayOfWeek)i).ToString();

给出0 =星期日,1 =星期一等

对于0 =星期一,只是沿着1

移动
((DayOfWeek)((i + 1) % 7)).ToString();

答案 4 :(得分:2)

DateTime.Now DayOfWeek中是一个枚举值,您可以通过将其解析为相应的值来获取其字符串值。

Enum.Parse(typeof(DayofWeek),"0")

然后你会得到你想要的结果。

答案 5 :(得分:1)

string.Format("{0:dddd}", value)

使用枚举不会影响本地化。此字符串格式应将全天名称作为本地化文化的字符串返回。