?
Solved

Convert month to number

Posted on 2009-05-06
5
Medium Priority
?
661 Views
Last Modified: 2013-11-26
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?
0
Comment
Question by:lrbrister
5 Comments
 
LVL 5

Accepted Solution

by:
Buginator earned 2000 total points
ID: 24318435
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
 
LVL 15

Expert Comment

by:oobayly
ID: 24318473
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
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24318720
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
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24318745
Using my solution, arriveMonth.SelectedValue will return 6
0
 

Author Comment

by:lrbrister
ID: 24318798
RyanAndres:
Must have got caught between page refreshes.  I accepted while you were typing probably
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Integration Management Part 2
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Suggested Courses

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question