Как установить только временную часть переменной DateTime в C# [дубликат]



этот вопрос уже есть ответ здесь:



У меня есть переменная DateTime:



DateTime date = DateTime.Now;


Я хочу изменить временную часть переменной DateTime. Но когда я попытался получить доступ к части времени (hh:mm:ss), эти поля доступны только для чтения.



Не могу ли я установить эти недвижимость?

539   5  

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);
date = new DateTime(date.year, date.month, date.day, HH, MM, SS);

Я не уверен точно, что вы пытаетесь сделать, но вы можете установить дату/время точно так, как вы хотите, несколькими способами...

вы можете указать 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

    Ничего не найдено.