Hét vraag- en antwoordplatform van Nederland

Hoe zet je seconden om naar uren, minuten en seconden?

Ik werk met het programma visual studio dus geen excel ofzo en ben aan het proberen om een programma te maken dat seconden omzet naar uren, minuten en seconden. Iemand enig idee hoe ik die kan omzetten?

Verwijderde gebruiker
8 jaar geleden
6.1K
Verwijderde gebruiker
8 jaar geleden
Zoek en gij zult vinden. Heb je hier iets aan?
http://stackoverflow.com/questions/3984831/create-a-simple-timer-to-count-seconds-minutes-and-hours
kierkegaard47
8 jaar geleden
Ik weet niet precies wat de specifieke taal is, maar de truc die je over het algemeen dient toe te passen is een keer delen door 3600 (het aantal seconden dat in een uur zit), het geheeltallige deel en de rest te bepalen. Het geheeltallige deel zijn de uren, met de rest reken je verder. Die rest deel je vervolgens door 60, en je bepaalt het geheeltallige deel - dit zijn je minuten - en de rest- dit zijn je seconden. Die geheeltallige deling geef ik hier met DIV aan, en de restbepaling met MOD. Eerst een simpel getalvoorbeeldje, stel, je deelt 7 door 3. "Normaal" komt hier 7/3= 2.333333.. uit, natuurlijk. Dan krijg je :
7 DIV 3 = 2 (want het geheeltallige deel van 7/3 is twee)
7 MOD 3 = 1 (want 7 gedeeld door 3 is "2, rest 1", of anders gezegd, 7 - 2*3= 1). Dit kan je gebruiken om seconden naar uren en minuten om te zetten. Voorbeeld. Je hebt 28456 seconden. Eerst doe je
28456 DIV 3600 = 7 . Dit zijn je uren,
28456 MOD 3600 = 3256. Dit zijn het aantal seconden dat je over houdt na die 7 hele uren van de oorspronkelijke 28456 af te trekken (ofwel 28456 - 7 *3600 = 3256. Op die 3256 restseconden passen we weer zo'n deling toe, maar nu met 60, om het aantal minuten te bepalen. 3256 DIV 60 = 54
3256 MOD 60 = 16 (want 3256 - 54 *60= 16). Kortom, 54 minuten en 16 seconden. Eindresultaat: 28456 seconden is 7 uur, 54 minuten, 16 seconden. De taalkundige details zullen per programmeertaal verschillen (zo zijn er bv veel talen waarbij 7/3 =2 , als 7 en 3 zelf 2 gehele getallen 'integers' zijn, maar 2.333333.. als het floating points zijn), maar dit is het achterliggende idee.
Verwijderde gebruiker
8 jaar geleden
Dit kun je het makkelijkst met de TimeSpan class uitrekenen: double seconden = 10000;
var ts = TimeSpan.FromSeconds(seconden);
Console.WriteLine(string.Format("{0} seconden is {1} uur, {2} minuten en {3} seconden", seconden, ts.Hours, ts.Minutes, ts.Seconds));
Console.ReadLine(); Zo hoef je zelf niet allerlei foutgevoelige berekeningen te maken. De .NET class library zit vol met classes om het leven van de programmeur makkelijk te maken! ;-)
Verwijderde gebruiker
8 jaar geleden
oh sorry dit had ik als antwoord willen zeggen, niet als reactie.

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Eerst (integer of modulo) delen door 3600; dan heb je de uren. Dan de rest door 60 delen dan heb je de minuten en de rest is de seconden.
(Lees meer...)
Verwijderde gebruiker
8 jaar geleden
Verwijderde gebruiker
8 jaar geleden
dank je!

Andere antwoorden (1)

Dit kun je het makkelijkst met de TimeSpan class uitrekenen:

double seconden = 10000;
var ts = TimeSpan.FromSeconds(seconden);
Console.WriteLine(string.Format("{0} seconden is {1} uur, {2} minuten en {3} seconden", seconden, ts.Hours, ts.Minutes, ts.Seconds));
Console.ReadLine();

Zo hoef je zelf niet allerlei foutgevoelige berekeningen te maken. De .NET class library zit vol met classes om het leven van de programmeur makkelijk te maken! ;-)
(Lees meer...)
Verwijderde gebruiker
8 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding