10
votes

Stockage de l'heure actuelle sans composant millisecondes

J'ai un objet Timespan qui n'a besoin que de détenir de temps, sans date. J'utiliserais

15:51:51.7368329


2 commentaires

Est-ce juste à peu près à l'utilisateur ou avez-vous vraiment besoin de le transformer en une autre période avec le composant Milliseconds dénudé?


ouais, je suppose que c'est seulement sur l'affichage, alors je vais aller avec la méthode Tostring ()


7 Réponses :


13
votes

Vous pouvez soit utiliser datetime.now.hour / minute / seconde ou vous pouvez utiliser datetime.now.tostring ("HH: mm: ss") .

Reportez-vous ici pour plus d'informations: http://msdn.microsoft.com/ EN-US / Bibliothèque / ZDTAW1BW.ASPX


3 commentaires

Le "H: mm: ss" ne donnera pas le résultat souhaité. H représente la représentation à 1 chiffre des heures non militaires et mm représente la représentation à 2 chiffres du mois en cours. Par conséquent, cela donnerait 3:02:51 pour l'exemple fourni, au lieu de 15:51:51, comme demandé.


Je pense que vous devriez jeter un coup d'œil à ce lien msdn.microsoft.com/fr- US / Bibliothèque / 8KB3DDD4.aspx


Je pense que MM représente le mois, tandis que MM représente minutes.



2
votes
  1. Lorsque vous affichez à l'utilisateur, vous pouvez spécifier le format requis. Voici un bon tutoriel:

    http://www.geeeakzilla.co.uk/ View00ff7904-B510-468C-A2C8-F859AA20581F.HTM

    1. Vous pouvez créer un nouvel objet DateTime passe au constructeur à une heure, une minute, une seconde (c'est-à-dire pour économiser.)

0 commentaires

5
votes

Si le problème l'affiche, vous pouvez le faire:

DateTime.Now.ToString("HH:mm:ss")


2 commentaires

msdn.microsoft.com/en-us/library/8kb3ddd4.aspx Selon .NET .. MM représente le mois et non minute.


@MOHIB: Vous avez absolument raison. Mis à jour en conséquence. Merci.



8
votes

Sans simplement soustraire la partie millisecond:

DateTime myTime = DateTime.Now.TimeOfDay.AddMilliseconds(
  -DateTime.Now.TimeOfDay.Millisecond);


1 commentaires

Votre première ligne ne compilera pas.



8
votes

Je crois que c'est ce que vous pouvez être après: xxx


2 commentaires

Je préfère cela pour aller à une chaîne et à l'arrière.


En ce qui concerne la performance, je pense que la suggestion de MRCROWL est meilleure que de ficelle et de retour. Je pense que c'est environ 9 fois plus vite (les deux sont rapides cependant).



1
votes

Vous pouvez utiliser cette fonction pour vérifier quel format vous convient: xxx

Cela vous donnera tous les formats comme:

  • "14/05/2011"
  • "14/05/11"
  • "14.05.11"
  • "14-05-11"
  • "2011-05-14"
  • etc.

0 commentaires

0
votes

Vous pouvez faire cela-

DateTime.Parse(
                DateTime.Now.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"),
                System.Globalization.CultureInfo.CurrentCulture
              );


0 commentaires