Convert month to number

In this code I need to pass in an integer instead of the "Mmm" that is the dynamically populated value

arriveMonth.SelectedValue  right now = "jun" etc

I need it to = "6"

Can I cas or convert this?
Larry Bristersr. DeveloperAsked:
Who is Participating?
 
BuginatorConnect With a Mentor Commented:
Hi,

String monthName = arriveMonth.SelectedValue.ToString();
String monthNumber;

if ((monthName .Equals("January")) monthNumber =1;
else if ((monthName .Equals("February")) monthNumber =2;
else if ((monthName .Equals("March")) monthNumber =3;
else if ((monthName .Equals("April")) monthNumber =4;
else if ((monthName .Equals("May")) monthNumber =5;
else if ((monthName .Equals("Juny")) monthNumber =6;
else if ((monthName .Equals("July")) monthNumber =7;
else if ((monthName .Equals("August")) monthNumber =8;
else if ((monthName .Equals("September")) monthNumber =9;
else if ((monthName .Equals("October")) monthNumber =10;
else if ((monthName .Equals("November")) monthNumber =11;
else if ((monthName .Equals("Desember")) monthNumber =12;
0
 
oobaylyCommented:
Either use a switch (Select Case in VB.Net) statement. The other option is to do this:
string monthText = "jun";
int month = DateTime.ParseExact(
  string.Format("01 {0} 2000", monthText),
  "dd MMM yyyy",
  System.Globalization.DateTimeFormatInfo.Current).Month;

Open in new window

0
 
RyanAndresCommented:
How about managing them more explicitly?
//	CREATE MONTH CLASS
public class Month
{
    public string Name { get; set; }
    public int Number { get; set; }
}
 
 
//	CREATE MONTH OBJECTS ONCE
Month[] months = new []
{
    new Month{Name = "Jan", Number = 1},
    new Month{Name = "Feb", Number = 2},
    new Month{Name = "Mar", Number = 3},
    new Month{Name = "Apr", Number = 4},
    new Month{Name = "May", Number = 5},
    new Month{Name = "Jun", Number = 6},
    new Month{Name = "Jul", Number = 7},
    new Month{Name = "Aug", Number = 8},
    new Month{Name = "Sep", Number = 9},
    new Month{Name = "Oct", Number = 10},
    new Month{Name = "Nov", Number = 11},
    new Month{Name = "Dec", Number = 12},
};
 
//	THEN ADD TO YOUR LISTBOX'S ITEMS
comboBox.Items.AddRange(months);
 
//	SET THE PROPERTIES IT SHOULD USE FOR DISPLAY/VALUE
//	THIS CAN BE SET IN THE DESIGNER PROPERTIES
comboBox.DisplayMember = "Name";
comboBox.ValueMember = "Number";

Open in new window

0
 
RyanAndresCommented:
Using my solution, arriveMonth.SelectedValue will return 6
0
 
Larry Bristersr. DeveloperAuthor Commented:
RyanAndres:
Must have got caught between page refreshes.  I accepted while you were typing probably
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.