2011-11-07 9 views
0

compte tenu que chaque envoi prend deux minutes et j'ai 500 utilisateurs à envoyer, comment calculer le temps estimé?Date de conversion - secondes en heure/minutes/secondes

J'ai essayé ceci:

var seconds = 120; //2minutes 
var users = 500; 
int t = 0; 
int i = 0; 

while(i <= users) 
{ 
i++; 
t += seconds; 
} 

comment je convertir t à quelque chose comme: xxx heures et yyy minutes et zzz secondes?

merci d'avance.

+0

Envisager d'utiliser 'Timespan', alors vous pouvez utiliser l'heure, les minutes et les secondes composante de l'instance – V4Vendetta

+0

Pourquoi êtes-vous en boucle? Est-ce que 120 * 500 ne serait pas l'équivalent? – bryanmac

+0

Pourquoi utilisez-vous t comme int? Vous auriez pu utiliser DateTime lui-même? Commencez avec DateTime.now, puis prenez l'exemple DateTime.now après la fin. Puis soustrayez-les et prenez le temps écoulé en millisecondes ou ce qui est nécessaire. J'espère que c'est ce que vous demandez? – Zenwalker

Répondre

3
TimeSpan duration = Timespan.FromSeconds(t); 

Convertissez vos secondes à un objet timespan, et vous obtiendrez toutes les informations supplémentaires gratuitement

+0

+1 semble que nous vous devons une redevance :) –

+0

LOL ... bonne prise. – ckoo

0

Je crois que vous cherchez quelque chose comme ça

vous pouvez intialize comme ça

TimeSpan ts = new TimeSpan(0, 2, 0); 

et plus de cette façon

ts.Add(new TimeSpan(0, 2, 0)); 

Et votre format final peut être réalisé que cette

string.Format("{0} Hours {1} minutes {2} seconds", ts.Hours, ts.Minutes, ts.Seconds); 

Si vous pouvez utiliser une minuterie ou calculer la durée puis utilisez que pour initialiser le timespan. S'il vous plaît modifier comme vous avez besoin ou ajouter d'autres détails à votre question