Join Date and Time to DateTime in C#

You can do this quite easily:

DateTime dateOnly;
DateTime timeOnly;
...
DateTime combined = dateOnly.Date.Add(timeOnly.TimeOfDay);

TimeOfDay returns a TimeSpan, which you then add to the date.

Edit (thanks to commenters below) - to be safe, use dateOnly.Date to ensure the date part only.


How are they being stored? Assuming that the date portion is being stored as a DateTime of midnight of the day in question and the time is a TimeSpan, you can just add them.

DateTime date = ...;
TimeSpan time = ...;

DateTime result = date + time;

You could easily construct a TimeSpan from your "time" field.

Once you have that, just do:

TimeSpan time = GetTimeFieldData();
dateField = dateField.Add(time);

Datetime date = new DateTime(Date1.Year, Date1.Month, Date1.Day, Time1.Hour, Time1.Minute, Time1.Second); 

You can add a TimeSpan to a DateTime and write something like this.

// inside consuming function
ISeriesObject obj = getMyObject();
DateTime dt = getDate(obj) + getTime(obj);

private DateTime getDate(ISeriesObject obj)
{
     //return a DateTime
}


private TimeSpan getTime(ISeriesObject obj)
{
     //return a TimeSpan
}