Поле DateTime.Date
выставляет просто дату DateTime
, затем вы можете добавить к этому произвольное значение TimeSpan
, чтобы установить время объекта DateTime
для чего угодно;
DateTime.Now.AddDays(7).Date.Add(new TimeSpan(9, 0, 0))
Проверьте это в действии здесь: https://dotnetfiddle.net/l3X37y
Учитывая, что время дня уже может быть после 9:00, возможно, что в итоге DateTime
будет меньше 7 дней, чтобы противостоять этому, вы можете проверить, превышает ли время дня то, что вы собираетесь установить DateTime
добавить и добавить день, если он есть, вот так;
DateTime dt = DateTime.Now.AddDays(7);
dt = dt.Date.Add(new TimeSpan(dt.Hour >= 9 ? 1 : 0, 9, 0, 0))
Смотрите это в действии здесь: https://dotnetfiddle.net/lfVGis