Я сравниваю время сейчас со временем, хранящимся где-то в базе данных.Время в базе данных хранится в формате «ггггМддЧчммсс».Например, база данных может вернуть 201106203354 для сохраненного значения времени.Затем я использую функцию для сравнения времени сейчас с временем, считанным из базы данных.
Что я делаю сейчас:
- Создание 6 intпеременные
- Возьмите подстроку отформатированной строки даты и преобразуйте ее в int32.
- Передайте 6 переменных типа int в функцию.
Что я хотел бы сделать:
Вместо того, чтобы разбивать отформатированную строку даты и времени и отдельно создавать и назначать шесть переменных для передачи в функцию, я хотел бы знать, есть ли какой-то способпреобразовать отформатированную строку даты и времени в DateTime
.
Пожалуйста, посмотрите мой код, поскольку он поможет объяснить то, что я явно не могу ...
Время прохождения сейчас наряду со временем, считанным из базы данных:
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";
}
Итак, очень просто, я хотел бы сравнить две даты, которые оба имеют формат «yyyyMMddHHmmss», или, если это невозможно, я бы хотелпреобразовать предыдущую строку даты в DateTimе.
Я уверен, что что-то здесь оставил, я вернусь и прочту это снова, но, пожалуйста, не стесняйтесь спрашивать меня обо всем, что я оставил неясным.
Спасибо, Эван