When you use a DateTimePicker, and set a format so that it only lets the user enter limited info, such as the Date in one, and the Time in another, the resulting values include the current system date/time for the entries the user cannot change. As a result the only safe way to combine the two is by creating a new DateTime value:
DateTime d = dtpDate.Value;
DateTime t = dtpTime.Value;
DateTime dtCombined = new DateTime(d.Year, d.Month, d.Day, t.Hour, t.Minute, t.Second);