---
title: "Sekunder till timmar, minuter och sekunder."
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/86827-sekunder-till-timmar-minuter-och-sekunder"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Fredde Mannen"
published: "2003-09-24T07:42:18.000Z"
updated: "2003-10-01T00:08:17.000Z"
replies: 9
views: 949
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/86827-sekunder-till-timmar-minuter-och-sekunder"
---

# Sekunder till timmar, minuter och sekunder.

## #1 — Fredde Mannen, 2003-09-24T07:42Z

Rent matematiskt hur skulle du ställa upp 2345 sek så att det blir timmar, minuter och sekunder??

Permalänk: https://www.webforum.nu/p/86827

## #2 — GunnarD, 2003-09-24T07:53Z

Enkelt.

tim = tal / 3600, om nödvändigt ta bort decimalerna
min = (tal - (tim\*3600)) / 60, om nödvändigt ta bort decimalerna
sek =tal - tim\*3600 - min\*60

Permalänk: https://www.webforum.nu/p/1165369

## #3 — Fredde Mannen, 2003-09-24T08:02Z

> **GunnarD skrev:**
>
> Enkelt.
> 
> tim = tal / 3600, om nödvändigt ta bort decimalerna
> min = (tal - (tim\*3600)) / 60, om nödvändigt ta bort decimalerna
> sek =tal - tim\*3600 - min\*60

oki.

Permalänk: https://www.webforum.nu/p/1165378

## #4 — Fredde Mannen, 2003-09-24T08:18Z

Så enligt formeln: 

tim = tal / 3600, om nödvändigt ta bort decimalerna 
min = (tal - (tim\*3600)) / 60, om nödvändigt ta bort decimalerna 
sek =tal - tim\*3600 - min\*60

så får vi.. genom att använda 2304 sekunder

Så bör jag få: 

timmar = 0,64 \<- Timmar, 0,64???
minuter = 0
sekunder = 0

Men timmar 0,64!

OBS! Minuter och sekunder är avrundade till närmaste heltal.

Permalänk: https://www.webforum.nu/p/1165394

## #5 — Fredde Mannen, 2003-09-24T08:20Z

Fick denna formel av en annan kille:

```
hours = numsec / 3600;
numsec = numsec % 3600;
minutes = nmumsec / 60;
seconds = numsec % 60;
```

Om det nu är C++ eller PHP eller nåt annat det är en sak... men vad menas med % \<- detta tecken..

Permalänk: https://www.webforum.nu/p/1165397

## #6 — @nders, 2003-09-24T08:24Z

Det borde väl betyda modulus, dvs rest vid heltalsdivision.

Permalänk: https://www.webforum.nu/p/1165401

## #7 — Fredde Mannen, 2003-09-24T08:29Z

okey...

Men min andra formel som jag fick funkade fint, men att den fortfarande ger timmar i i decimalform?? 

Dom om jag har 1200 sek så får jag 0,33 timmar och 20 minuter och 0 sekunder...

confused!!! :q

Permalänk: https://www.webforum.nu/p/1165403

## #8 — Fredde Mannen, 2003-09-24T08:36Z

Okey... tog bort det efter decimalerna och då funkade det bättre! :)

Permalänk: https://www.webforum.nu/p/1165410

## #9 — GunnarD, 2003-09-24T09:10Z

\> timmar = 0,64 \<- Timmar, 0,64???

Riktigt, så tar man bort decimalerna så blir timmar 0 (1 timme är 3600 sekunder)

\> minuter = 0

min = (2304 - (0\*3600))/60 = 38,4

\> sekunder = 0

sek = 2304 - 0\*3600 - 38\*60 = 24

2304 sekunder = 0 timmar, 38 minuter och 24 sekunder.

Permalänk: https://www.webforum.nu/p/1165433

## #10 — Engine^, 2003-10-01T00:08Z

Det här kan tyckas vara ett långt svar, men jag tror att det förklarar det mesta :)

> **Fredde Mannen skrev:**
>
> okey...
> 
> Men min andra formel som jag fick funkade fint, men att den fortfarande ger timmar i i decimalform?? 
> 
> Dom om jag har 1200 sek så får jag 0,33 timmar och 20 minuter och 0 sekunder...
> 
> confused!!! :q

1200 sekunder av en timme (=3600 sekunder) är en tredjedels timme (1200/3600 = 1/3) d.v.s. 20 minuter. Det matematiska svaret 0.3 (strecket ska vara ovanför trean och betyder upprepning) timmar är således helt korrekt, även om det nu blir oändligt många treor efter kommat. Svaret att 1200 sekunder är detsamma som en tredjedels timme och 20 minuter alltså helt fel (svaret borde ha varit 0\.33 timmar eller 20 minuter eller 1200 sekunder).

Problemet är att du räknar här med tid och inte tal, som vi vanligtvis gör. (1 timme = 60 minuter, 1 minut = 60 sekunder. Överförklarat så är 10 timmar inte detsamma som 100 minuter, utan 600 minuter.)

```
[u][b]Formel[/b][/u]
antaltimmar(h) = 0
antalminuter(m) = 0
antalsekunder(s) = 4567
sekunderkvar(sk) = s

1. Medan sk är större än 3600
  1.1 öka h med ett
  1.2 minska sk med 3600
  1.3 upprepa
2. m = sk
3. Medan sk är större än 60
  3.1 öka m med ett
  3.2 minska sk med 60
  3.3 upprepa
4. s = sk
```

En körning...

```
h = 0 + 1
sk = 4567 - 3600
m = 967
m = 0 + 1
sk = 967 - 60
m = 1 + 1
[i]osv...[/i]
m = 15 + 1
sk = 67 - 60
s = 7

4567 sekunder = 1 timme, 16 minuter och 7 sekunder
```

Permalänk: https://www.webforum.nu/p/1172415

---

Tråden på webben: https://www.webforum.nu/amne/programmering/86827-sekunder-till-timmar-minuter-och-sekunder
