Как установить только временную часть переменной DateTime в C# [дубликат]
этот вопрос уже есть ответ здесь:
как изменить время в DateTime?
26 ответов
У меня есть переменная DateTime:
DateTime date = DateTime.Now;
Я хочу изменить временную часть переменной DateTime. Но когда я попытался получить доступ к части времени (hh:mm:ss), эти поля доступны только для чтения.
Не могу ли я установить эти недвижимость?
5 ответов:
используйте конструктор, который позволяет указать год, месяц, день, часы, минуты и секунды:
var dateNow = DateTime.Now; var date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 4, 5, 6);
вы не можете изменить объект DateTime, он неизменяем. Однако вы можете установить для него новое значение, например:
var newDate = oldDate.Date + new TimeSpan(11, 30, 55);
Я не уверен точно, что вы пытаетесь сделать, но вы можете установить дату/время точно так, как вы хотите, несколькими способами...
вы можете указать 12/25/2010 4: 58 вечера с помощью
DateTime myDate = Convert.ToDateTime("2010-12-25 16:58:00");или если у вас есть существующая конструкция datetime, скажем, 12/25/2010 (и любое случайное время), и вы хотите установить его в 12/25/2010 4: 58 PM, вы можете сделать это следующим образом:
DateTime myDate = ExistingTime.Date.AddHours(16).AddMinutes(58);The
ExistingTime.Dateбудет 12/25 в полночь, и вы просто добавить часы и минуты, чтобы получить его время вы хотите.
Это невозможно, так как дата и время неизменны. Такое же обсуждение здесь: Как изменить время в datetime?
Comments