给定一个星期几的字符串,返回整数

时间:2015-08-04 14:23:09

标签: c# .net

有没有办法像:

string day = "Sunday";
int num = getDayOfWeek(day); //returns 0

我知道我们可以这样,我想反过来:

int num = 0;

//returns "Sunday"
return System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DayNames[(int)num]; 

最简单的方法可能是实现一个能够满足我要求的字典,但我想知道C# DateTime函数中是否存在已经为我做过的事情。

编辑:

正如Jon Skeet指出的那样,理想的答案是支持不同的文化日(例如。" Sunday" in English," Segunda" in葡萄牙语...)

2 个答案:

答案 0 :(得分:11)

var inx = Array.FindIndex(CultureInfo.CurrentCulture.DateTimeFormat.DayNames, x=>x=="Sunday");

答案 1 :(得分:3)

您可以执行以下操作:

string myDay = "Tuesday";
int dayNumber = ((int)Enum.Parse(typeof(DayOfWeek), myDay)); // dayNumber = 2

一周中的每一天都映射到以下数字:

- Sunday = 0
- Monday = 1
- Tuesday = 2
- Wednesday = 3
- Thursday = 4
- Friday = 5
- Saturday = 6