2010-08-30 5 views
1

Je dois faire un calcul pour mon rapport de cristal.Comment puis-je ajouter seulement le temps en C#

Dans le rapport, il y aura des temps (en heure: Min: Sec) comme celui-ci ..

00:12:34

00:52:12

23:19:56

et ainsi de suite ..

J'ai besoin de les ajouter ensemble afin that..results seront

h: min: ss

Hr peut être plus de 100 ..

mais ne peut pas changer le jour

Comment y parvenir?

Merci beaucoup ..

+0

Sous quelle forme sera le temps? DateTime ou chaînes? – TheVillageIdiot

Répondre

2

rechercher le mode TimeSpan.Parse comme celui-ci.

var t1 = TimeSpan.Parse("00:12:34"); 
var t2 = TimeSpan.Parse("00:52:12"); 
var t3 = TimeSpan.Parse("23:19:56"); 

var result = t1 + t2 + t3 

Console.WriteLine("Total time is {0} Hours {1} Mins {2} secs", 
result.Days * 24 + result.Hours, result.Minutes, results.Seconds); 
+0

bonne idée .. merci pour cela .. mais dans nos ans, puis-je combiner les jours et heures et les montrer ensemble comme heures ..? comme 1 jour, 1 heure comme 25 heures ?? – william

+0

oui vous pouvez obtenir des jours de l'objet 'TimeSpan' comme' result.Days' – TheVillageIdiot

+0

william: Vous voulez '(int) result.TotalHours'. – Gabe

0

Il vous obtenez hh: mm: ss seulement alors ce sera facile:

hh x 60 x 60 + mm x 60 + ss 

puis obtenir les heures, minutes et secondes de lui.

Si vous obtenez DateTime objet alors vous pouvez obtenir des heures, des minutes et les convertir en secondes et utiliser la même technique que ci-dessus.

+0

oui .. c'est une idée .. obtenir le total sec de tout et les additionner ensemble .. après que .. divisé dos à l'heure, min, seconde. J'ai essayé cela .. le codage est trop long .. donc juste demander une meilleure idée .. ?? sth comme raccourci? – william

Questions connexes