The System.DateTime
structure is what you're looking for.
Preferred Way:
sb.Append(DateTime.Now.AddMonths(1).ToString("MMddyyHHmm"));
As Joel Coehoorn points out, you could condense that code down to one line. I had become so engorged on the implementation, I didn't see what you were actually trying to do -- luckily Joel pointed it out.
That will roll all of those up into one call. Pretty nifty.
Direct Translation (Not recommended):
To translate your Java code into C#, you'd do something like the following:
string year = DateTime.Now.Year.ToString();
sb.Append(DateTime.Now.AddMonths(1));
sb.Append(DateTime.Now.Day);
sb.Append(year.Substring(2));
sb.Append(DateTime.Now.Hour);
sb.Append(DateTime.Now.Minute);
You can copy/paste this C# code to see:
StringBuilder sb = new StringBuilder();
string year = DateTime.Now.Year.ToString();
sb.Append(String.Format("Next Month is: {0} \n ",DateTime.Now.AddMonths(1)));
sb.Append(String.Format("Day is {0}\n ", DateTime.Now.Day));
sb.Append(String.Format("Year is {0}\n ", year.Substring(2)));
sb.Append(String.Format("The Hour is {0}\n ", DateTime.Now.Hour)); //getting late
sb.Append(String.Format("The Minute is {0}\n ", DateTime.Now.Minute));
Regarding Java issues with DateTime
The DateTime
structure doesn't have the same issues that Java had with their date implementation; so you shouldn't have the same problems that plagued the Java world.
Other Methods
As another user pointed out, you can use the System.Globalization.Calendar
class as well. I get along just fine with the DateTime
struct, and it's a little lighter-weight than the Calendar class, but they both can be used. If you're going to jump around date and calendar implemenations, then go with the Calendar
class; if you're going to stick with one implementation of dates, then the DateTime
struct
is just fine.