I am comparing the time now to a time stored somewhere in a database. The time stored in the database is in the format of “yyyyMMddHHmmss”. For example, the database may return 201106203354 for a stored time value. I am then using a function to compare the time now to the time read in from the database.
What I am doing now:
- Create 6 int variables
- Take the sub-string from the formatted date string and convert the sub-string to an int32.
- Pass the 6 int variables to the function.
What I would like to do:
Rather than splitting up the formatted date-time string, and seperately creating and assigning six variables to pass to the function, I would like to know if there is some way to simply convert the formatted date-time string into DateTime.
Please see my code as it will help to explain what I clearly cannot …
Pass time now along with time read from database:
Private void passTime()
{
string timeStamp;
int year, month, day, hour, minutes, seconds;
DateTime dt = DateTime.Now;
timeStamp = dt.ToString("yyyyMMddHHmmss");
year = Convert.ToInt32(timeStamp.Substring(0, 4));
month = Convert.ToInt32(timeStamp.Substring(4, 2));
day = Convert.ToInt32(timeStamp.Substring(6, 2));
hour = Convert.ToInt32(timeStamp.Substring(8, 2));
minutes = Convert.ToInt32(timeStamp.Substring(10, 2));
seconds = Convert.ToInt32(timeStamp.Substring(12, 2));
MessageBox.Show(GetDifferenceDate(
new DateTime(year,month,day,hour,minutes,seconds),
// Example time from database
new DateTime(2011, 08, 11, 11, 40, 26)));
}
static string GetDifferenceDate(DateTime date1, DateTime date2)
{
if (DateTime.Compare(date1, date2) >= 0)
{
TimeSpan ts = date1.Subtract(date2);
return string.Format("{0} days",
ts.Days);
}
else
return "Not valid";
}
So, quite simply, I would like to compare two dates that are both in the format of “yyyyMMddHHmmss”, or if this is not possible, I would like to convert the previous Date string into a DateTime.
I’m sure I left something out here, I will go back and read it again but please feel free to ask me anything that I left unclear.
Thank you,
Evan
You’re looking for
ParseExact: