public static DateTime JoinNullableDateTime(DateTime? date, DateTime? time)
if ((date == null) && (time == null))
return DateTime.MinValue;
else if ((date != null) && (time == null))
else if ((date == null) && (time != null))
return DateTime.MinValue.Add(time.Value.TimeOfDay);
return date.Value.Date.Add(time.Value.TimeOfDay);
public static void Main()
DateTime dt = JoinNullableDateTime(null, null);
Console.WriteLine(dt.ToString());