7
votes

Obtenir seulement du temps d'un objet DateTime

J'essaie d'obtenir uniquement l'heure d'un objet DateTime code>.

Disons que j'ai cet objet: P>

5:23 AM


0 commentaires

6 Réponses :


16
votes

Vous pouvez utiliser Tostring Méthode avec le chaîne de formatage : xxx


2 commentaires

+1 pour la bonne réponse la plus rapide.


Donner des erreurs telles que "Aucune méthode de surcharge pour Tostring prend 1 argument"



4
votes

Vous pouvez utiliser "H" Spécificateur de format personnalisé .

Le spécificateur de format personnalisé "H" représente l'heure sous forme de numéro de 0 à travers 23; c'est-à-dire que l'heure est représentée par une 24 heure de 24 heures basée à zéro. horloge qui compte les heures depuis minuit. Une heure à un chiffre est formaté sans zéro directeur. xxx

la sortie sera; xxx

voici un démo .

Pour plus d'informations, consultez Cordes de format de date et d'heure personnalisées


3 commentaires

Devrait être HH pendant des heures sur une horloge de 24 heures (qui serait raisonnable sans l'identifiant AM / PM.


@GrantThomes UPS! Merci. Fixé.


Seule autre chose (j'ai manqué cela au début), h conviendrait plus de manière appropriée car ils ne semblent pas vouloir avoir un (code> 0 pour un seul chiffre les heures.



3
votes
        Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
        var timeofDay   = data.Value.TimeOfDay; // 05:23:45

1 commentaires

Pour mes informations. Le vote Down Bocoz était-il de la partie SS ?



2
votes
var time = date.ToString("H:mm");
H here represents 24 hour time. i.e. 0-23See more format Custom Date and Time Format Strings 

0 commentaires

3
votes

Si vous avez besoin d'obtenir un type Timespan , utilisez la propriété dans la classe DateTime appelée TimeOdday . Il ne renvoie que la partie "temps".

Si vous avez besoin d'obtenir une chaîne dans ce format, l'utilisation de TimeOfday est une overcilleuse et utilisez simplement tostring ("HH: mm") pour formater votre sortie. Si vous ne voulez pas de résultats tels que 05:40 , utilisez tostring ("H: mm") .


0 commentaires

0
votes

étrange, cela fonctionne bien pour moi, maby C'est un réglage dans Visual Studio?

Vous pouvez essayer ce P>

Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Debug.Write(data.Value.Hour + ":" + data.Value.Minute);


1 commentaires

string s = "votre date"; Datetime.tryparse (S, Out DT); Temps de chaîne = dt.tostring ("HH: mm: SS: TT"); Ou chaîne t1 = dt.tostring ("h: mm");