将包含月份名称的字符串转换为月份数字的Int

时间:2013-10-07 08:36:36

标签: c# string datetime

我有一个字符串,其中包含短月份名称。\

string month = "Jun";

我需要从这个月的名字中获得一个月的数字。

说我这样做:

int monthInDigit = getMonth(month);

monthInDigit <-- 6

我怎样才能做到这一点。如果你无法得到我的问题,请评论我会正确解释。

提前

Thanxx

3 个答案:

答案 0 :(得分:14)

int monthInDigit = DateTime.ParseExact(month, "MMM", CultureInfo.InvariantCulture).Month;

答案 1 :(得分:8)

您可以先将其解析为DateTime

DateTime dt = DateTime.ParseExact("Jun", "MMM", CultureInfo.InvariantCulture);
int month = dt.Month;
if(month < 6)
{  
    // do something...
}

答案 2 :(得分:0)

另一种方式:

string [] arr= {jun, fab,...}; 

public int getMonth(string month){

for(int i = 0 ; i< arr.length ; i++){
   if(string[i].Contains(month) || month.Contains(arr[i]))
   return i+1;
   }

return -1;// if month is invalid , return -1
}