---
title: "Räkna tid från datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/122191-räkna-tid-från-datum"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Jesper2"
published: "2005-02-10T21:29:20.000Z"
updated: "2005-02-12T15:29:46.000Z"
replies: 8
views: 363
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/javascript/122191-räkna-tid-från-datum"
---

# Räkna tid från datum

## #1 — Jesper2, 2005-02-10T21:29Z

Jag har ställt frågan för ganska längesen men fick inget svar, jag kanske inte lämnade tillräckligt med information.. Men iallafall, jag har den här koden:

```
<script type="text/javascript">

var ds = "2004-10-27 21:40:26";

function f() {
    var d  = new Date(ds.replace(/-/g,"\/")),
	c  = new Date(),
	hf = (c - d) / 3600000;
	ha = Math.floor(hf),
	mf = 60 * (hf - ha),
	ma = Math.floor(mf);

    document.getElementById("time").innerHTML = 
	ha + " tim " + ma + " min " + Math.floor(60 * (mf - ma)) + " sek";
}

window.setInterval("f()", 960);

</script>

<span id="time"></span>
```

På min sida för att räkna hur lång tid det har gått sen en viss tidpunkt. Själva tidpunkten är dynamisk, jag har koden i ett PHP-dokument. Det fungerar, fast sekunderna "tickar" inte uppåt, och det står "Fel på sidan" i statusraden.

Vart är felet?

Tack på förhand
MVH,
Jesper Ahlin

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

## #2 — RGB, 2005-02-10T21:46Z

Du försöker skapa ett Date objekt med fel argument, prova med
Date(YYYY, MM, DD, HH, mm, ss ,ms) 
de fyra sista argumenten är frivilliga.

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

## #3 — dectgap, 2005-02-10T21:55Z

Genom att lägga #time före script-elementet förhindrar man att skriptet försöker leta upp ett element som inte finns än:

```
<span id="time"></span>

<script type="text/javascript">
...
</script>
```

Vad det gäller skapandet av Date-objektet så *måste* man inte skriva som RGB föreslår. Date-konstruktorn kan ta flera typer av argument:
<http://www.byteshift.de/javascript-1415/CoreReferenceJS15/date.html#1193137>

Allra enklast vore det nog att låta PHP skriva ut tiden som ett UNIX timestamp, lägga till tre nollor eftersom JavaScript vill ha tiden i millisekunder istället för sekunder och sköta det hela utanför funktionen.

T ex:

```
<script type="text/javascript">

var ds = "<?php echo time(); ?>000";
var d  = new Date(ds);

function f() {
    var c  = new Date(),
	hf = (c - d) / 3600000;
	ha = Math.floor(hf),
	mf = 60 * (hf - ha),
	ma = Math.floor(mf);

    document.getElementById("time").innerHTML = 
	ha + " tim " + ma + " min " + Math.floor(60 * (mf - ma)) + " sek";
}

window.setInterval("f()", 960);

</script>
```

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

## #4 — Jesper2, 2005-02-10T22:55Z

Jag kan inget JavaScript själv tyvärr :/

Och det fungerade inte som du skrev dectgap.. Så här ser det ut nu:

```
										echo "
										<script type=\"text/javascript\">
										var ds = \"".$tid1."".$tid2."\";
										
										function getTime() {
											var d  = new Date(ds.replace(/-/g,\"\/\")),
											c  = new Date(),
											hf = (c - d) / 3600000;
											ha = Math.floor(hf),
											mf = 60 * (hf - ha),
											ma = Math.floor(mf);
										
											document.getElementById(\"time\").innerHTML = 
											ha + \" tim \" + ma + \" min \" + Math.floor(60 * (mf - ma)) + \" sek\";
										}
										
										window.setInterval(\"f()\", 960);
										
										</script>
										
										<span id=\"time\"></span>
										";
```

$tid1 innehåller YYYY-MM-DD
$tid2 innehåller HH:MM:SS

Allt fungerar ju utom att sekunderna inte tickar, och att det står "Sidan innehåller ett fel" i statusraden :/

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

## #5 — Jesper2, 2005-02-10T22:56Z

Oj! Nu bytte jag ut namnet mot "f" så tickar sekunderna iallafall. Haha.. Men det är fortfarande "Fel på sidan"

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

## #6 — dectgap, 2005-02-11T18:22Z

Jag skrev att du skulle lägga span-elementet före script-elementet.

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

## #7 — Jesper2, 2005-02-12T13:57Z

> **dectgap skrev:**
>
> Jag skrev att du skulle lägga span-elementet före script-elementet.

Har provat det, men det gjorde ingen skillnad :/

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

## #8 — dectgap, 2005-02-12T14:51Z

Visa hela koden (OBS: inte PHP-kod) då.
Eller länka gärna till sidan.

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

## #9 — Jesper2, 2005-02-12T15:29Z

> **dectgap skrev:**
>
> Visa hela koden (OBS: inte PHP-kod) då.
> Eller länka gärna till sidan.

Jag har redan visat all väsentlig kod, resten är bara massa PHP-tjafs. Jag kan tyvärr inte visa sidan eftersom det kräver en inloggning.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/122191-räkna-tid-från-datum
