171 votes

Comment obtenir seulement l'heure à partir de la date-heure C#

Supposons que j'ai la valeur 6/22/2009 10:00:00 AM. Comment puis-je obtenir seulement 10:00 Am de cette date-heure.

237voto

Vous avez plusieurs options pour cela :

DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");

dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock

Lien utile : DateTime.ToString() Patterns

84voto

Marc Gravell Points 482669

D'un DateTime vous pouvez utiliser .TimeOfDay - mais cela vous donne un TimeSpan représentant le temps dans la journée (10 heures).

77voto

panpawel Points 171

Il n'existe qu'un seul type DateTime en C#, qui comprend à la fois la partie date et la partie heure. Si vous ne vous souciez pas de la partie Date de DateTime, définissez-la comme valeur par défaut comme ceci :

DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)

Ainsi, vous pouvez être cohérent avec toutes les versions de .NET, même si Microsoft décide de changer la date de base pour une autre date que le 1/1/0001.

22voto

heavyd Points 8845

Vous pouvez vous renseigner sur le DateTime.ToShortTimeString() méthode.

De plus, il existe de nombreuses autres méthodes et propriétés de l'interface utilisateur. DateTime qui peut vous aider à formater la date ou l'heure de la manière que vous souhaitez. Jetez un coup d'œil à la documentation.

14voto

Essayez ça :

TimeSpan TodayTime = DateTime.Now.TimeOfDay;

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