76 votes

Comment définir uniquement le temps d'une variable DateTime en C #

J'ai une variable DateTime:

 DateTime date = DateTime.Now;
 

Je veux changer la partie heure d'une variable DateTime. Mais lorsque j'ai essayé d'accéder à la partie heure (hh: mm: ss), ces champs sont en lecture seule.

Je ne peux pas définir ces propriétés?

127voto

Ahmad Mageed Points 44495

Utilisez le constructeur qui vous permet de spécifier l'année, le mois, le jour, les heures, les minutes et les secondes:

 var dateNow = DateTime.Now;
var date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 4, 5, 6);
 

24voto

Daniel Perez Points 2257

vous ne pouvez pas changer l'objet DateTime, il est immuable. Cependant, vous pouvez lui attribuer une nouvelle valeur, par exemple:

 var newDate = oldDate.Date + new TimeSpan(11, 30, 55);
 

15voto

Rhapsody Points 4131
date = new DateTime(date.year, date.month, date.day, HH, MM, SS);

13voto

David Stratton Points 45298

Je ne suis pas sûr exactement ce que vous essayez de faire, mais vous pouvez définir la date/l'heure pour exactement ce que vous voulez dans un certain nombre de façons...

Vous pouvez spécifier 12/25/2010 4:58 PM en utilisant

DateTime myDate = Convert.ToDateTime("2010-12-25 16:58:00");

OU si vous avez un datetime construire , dire 12/25/2010 (et à toute heure aléatoire) et que vous souhaitez définir pour 12/25/2010 4:58 PM, vous pouvez le faire comme ceci:

DateTime myDate = ExistingTime.Date.AddHours(16).AddMinutes(58);

L' ExistingTime.Date sera 12/25 à minuit, et il suffit d'ajouter des heures et des minutes pour arriver à l'heure que vous voulez.

3voto

cspolton Points 2771

Ce n'est pas possible car DateTime est immuable. La même discussion est disponible ici: comment changer l'heure en date-heure

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X