Объедините две переменные даты и времени в одну - PullRequest
21 голосов
/ 15 февраля 2012

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

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

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

            DateTime newDateTime = new DateTime();

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

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

Ответы [ 4 ]

42 голосов
/ 15 февраля 2012

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

newDateTime = date.Date + time.TimeOfDay;
8 голосов
/ 15 февраля 2012

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

DateTime newDateTime = new DateTime(date.Year, date.Month, date.Day, 
                                    time.Hour, time.Minute, time.Second);
3 голосов
/ 15 февраля 2012
DateTime newDateTime = date.Date.Add(time.Time);

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

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

1 голос
/ 15 февраля 2012

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

    TimeSpan timeSpan = time.TimeOfDay;
        string s = string.Format("{0} {1}", date.Date.ToString("MM dd yyyy"), time.ToString());
        DateTime combinedDateTime = DateTime.Parse(s);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...