Подтвердить что ты не робот

Объедините две переменные datetime в один

У меня есть небольшая проблема, которую я просто не могу решить. У меня есть две переменные datetime, важными данными в этом году являются год, месяц и день. Другая переменная datetime хранит час, минуту и ​​секунду.

Причина этого хаоса связана с базой данных, из которой я извлекаю данные, где у них есть два разных столбца для хранения фактической даты и времени. Вот код:

            DateTime date = Convert.ToDateTime(dTable.Rows[i][0]);
            DateTime time = Convert.ToDateTime(dTable.Rows[i][1]);

            DateTime newDateTime = new DateTime();

В NewDateTime должно быть установлено полное значение даты, когда дробь даты находится в переменной даты, а временная доля - во временной переменной.

Если кто-то может помочь, я буду очень рад:)

4b9b3361

Ответ 1

Это должно сделать:

newDateTime = date.Date + time.TimeOfDay;

Ответ 2

Используя этот конструктор.

DateTime newDateTime = new DateTime(date.Year, date.Month, date.Day, 
                                    time.Hour, time.Minute, time.Second);

Ответ 3

DateTime newDateTime = date.Date.Add(time.Time);

Свойство Date исключает любой компонент времени (эффективно полночь указанной даты), а свойство Time возвращает только компонент времени как TimeSpan.

Здесь мы берем часть даты переменной Date для получения полуночи и добавляем к ней временную составляющую переменной Time, чтобы получить правильную дату и время.

Ответ 4

Вы можете сделать что-то вроде этого ниже

    TimeSpan timeSpan = time.TimeOfDay;
        string s = string.Format("{0} {1}", date.Date.ToString("MM dd yyyy"), time.ToString());
        DateTime combinedDateTime = DateTime.Parse(s);